nafanja
leonardo19, calendar.monthrange(year, mes) кидает конкретное исключение IllegalMonthError
и тогда твоя конструкция становится определенной
А мне кажется, что, в конкретном случае, абсолютно без разницы, какое исключение будет перехвачено. Если оно есть, то формат неверный (какая разница, почему) - всё равно надо запрашивать данные заново.
Я бы сделал так:
import calendar
while True:
    while True:
        try:
            year = int (input ('Введите год: ')
            break
        except:
            print ('Неверный формат года')

    while True:
        try:
            month = int (input ('Введите месяц: ')
            break
        except:
            print ('Неверный формат месяца')

    try:
        print (calendar.monthrange (year, month))
        break
    except:
        print ('Сочетание Год / месяц неверно')
Спасибо, lampslave

Исправил
DATABASE_ROUTERS = ['router.calend.CalendRouter']
и всё заработало.
Уважаемые Арчеводы!
Помогите!!!

Задача следующая:
Есть django 1.9.8, python 3.5.2, mariadb 10.1.16

В СУБД есть несколько баз. В проекте django подразумевается несколько приложений, по одной БД на приложение. Документация django говорит, что необходимо прописать все БД в настройках проекта, создать модуль-роутер и добавить его в список DATABASE_ROUTERS
Собственно, всё это и сделано...

settings.py

...
DATABASES = {
  'default': { ... },
  'calend': { ... },
}

DATABASE_ROUTERS = [os.path.join (BASE_DIR, 'routers/calend.py')]

Сам модуль-роутер "просто слизан" с документации, только имя БД заменено. При этом:
python manage.py migrate
Traceback (most recent call last
...
ImportError: No module named '/data/git/django_project/routers/calend'
$ ls -l /data/git/django_project/routers/calend.py
-rwxr-xr-x 1 ksusha users 875 авг 16 00:01 /data/git/django_project/routers/calend.py

Почему модуль не импортируется? Путь верный, модуль есть... В файле settings.py пробовал и ручками весь путь вбить, и .py убирать, и относительный путь указывать, но результат не меняется...
teplovoz
Приведите в файле megafon.chat эту строку -
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'

к такому виду -
'OK' 'ATQ0 V1 E1 S0=0'

И пробуй в терминале от рута -
sudo pon megafon

А-а-а-а-а... Тысяча чертей... СПАСИБО!!! Работает.
teplovoz
Ну как бы правила рекомендуют
Да, знаю. Просто сидя на работе, пытаясь настроить инет на ноуте не могу с него выхлоп выложить по-человечески, поэтому добавил чуть позднее...
kurych
/usr/abin/chat - такой путь точно правильный? Или это просто опечатка?
оЧепятка :-)
tsn
А вы пробовали поднять сетевое соединение на новой
сетевой карте (без всяких ppp)?
Пробовал, не поднимается...

[[email protected] netctl]$ cat /etc/netctl/huawei-megafon-ethernet
Description='A basic dhcp ethernet connection'
Interface=wwp0s29f7u5i3
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless
[[email protected] netctl]$

[[email protected] netctl]$ sudo netctl start huawei-megafon-ethernet
Job for [email protected]\x2dmegafon\x2dethernet.service failed because the control process exited with error code.
See "systemctl status "[email protected]\\x2dmegafon\\x2dethernet.service"" and "journalctl -xe" for details.
[[email protected] netctl]$

[[email protected] netctl]$ sudo netctl status huawei-megafon-ethernet
● [email protected]\x2dmegafon\x2dethernet.service - Networking for netctl profile huawei-megafon-ethern
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Пт 2016-07-08 10:05:32 MSK; 7s ago
     Docs: man:netctl.profile(5)
  Process: 666 ExecStart=/usr/lib/network/network start %I (code=exited, status=1/FAILURE)
 Main PID: 666 (code=exited, status=1/FAILURE)

июл 08 10:05:02 AntonStacionPC dhcpcd[672]: DUID 00:01:00:01:1e:6d:e9:2a:00:19:5b:69:24:01
июл 08 10:05:02 AntonStacionPC dhcpcd[672]: wwp0s29f7u5i3: IAID 3f:b1:46:9d
июл 08 10:05:02 AntonStacionPC dhcpcd[672]: wwp0s29f7u5i3: soliciting a DHCP lease
июл 08 10:05:32 AntonStacionPC dhcpcd[672]: timed out
июл 08 10:05:32 AntonStacionPC network[666]: DHCP IPv4 lease attempt failed on interface 'wwp0s29f7u
июл 08 10:05:32 AntonStacionPC network[666]: Failed to bring the network up for profile 'huawei-mega
июл 08 10:05:32 AntonStacionPC systemd[1]: [email protected]\x2dmegafon\x2dethernet.service: Main proces
июл 08 10:05:32 AntonStacionPC systemd[1]: Failed to start Networking for netctl profile huawei-mega
июл 08 10:05:32 AntonStacionPC systemd[1]: [email protected]\x2dmegafon\x2dethernet.service: Unit entere
июл 08 10:05:32 AntonStacionPC systemd[1]: [email protected]\x2dmegafon\x2dethernet.service: Failed with
[[email protected] netctl]$
В общем:

[[email protected] netctl]$ lsusb
Bus 005 Device 006: ID 12d1:1506 Huawei Technologies Co., Ltd. Modem/Networkcard
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 002: ID 2571:4101
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 04f3:0103 Elan Microelectronics Corp. ActiveJet K-2024 Multimedia Keyboard
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[[email protected] netctl]$

[[email protected] netctl]$ cat /lib/udev/rules.d/40-huawei.rules
SUBSYSTEM=="usb", SYSFS{idProduct}=="15ca", SYSFS{idVendor}=="12d1", RUN+="/lib/udev/modem-modeswitch --vendor 0x12d1 --product 0x15ca --type option-zerocd"
[[email protected] netctl]$

[[email protected] netctl]$ cat /etc/ppp/peers/megafon
file /etc/ppp/options-mobile
connect "/usr/abin/chat -v -t15 -f /etc/ppp/chatscripts/megafon.chat"

[[email protected] netctl]$

[[email protected] netctl]$ cat /etc/ppp/chatscripts/megafon.chat
ABORT 'BUSY'
ABORT 'NO CARRIER'
ABORT 'VOICE'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT 'DELAYED'
REPORT CONNECT
TIMEOUT 6
'' 'ATQ0'
'OK-AT-OK' 'ATZ'
TIMEOUT 3
'OK-AT-OK' 'ATI'
'OK' 'ATZ'
'OK' 'ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0'
'OK' 'AT\^SYSCFG=2,2,3fffffff,0,1'
'OK-AT-OK' 'AT+CGDCONT=1,"IP","internet"'
'OK' 'ATDT*99***1#'
TIMEOUT 30
CONNECT
[[email protected] netctl]$ 

[[email protected] netctl]$ cat /etc/netctl/huawei-megafon
Description='Example PPP mobile connection'
Interface=ttyUSB0
Connection=mobile_ppp

# Use default route provided by the peer (default: true)
#DefaultRoute=true
# Use DNS provided by the peer (default: true)
#UsePeerDNS=true

# The user and password are not always required
#User='[email protected]'
#Password='very secret'

# The access point name you are connecting to
AccessPointName=apn

# If your device has a PIN code, set it here. Defaults to 'None'
#Pin=None

# Mode can be one of 3Gpref, 3Gonly, GPRSpref, GPRSonly, None
# These only work for Huawei USB modems; all other devices should use None
Mode=3Gpref
[[email protected] netctl]$

[[email protected] netctl]$ sudo netctl status huawei-megafon
● [email protected]\x2dmegafon.service - Networking for netctl profile huawei-megafon
   Loaded: loaded (/usr/lib/systemd/system/[email protected]; static; vendor preset: disabled)
   Active: active (exited) since Пт 2016-07-08 09:48:49 MSK; 5min ago
     Docs: man:netctl.profile(5)
  Process: 3925 ExecStart=/usr/lib/network/network start %I (code=exited, status=0/SUCCESS)
 Main PID: 3925 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 512)
   CGroup: /system.slice/system-netctl.slice/[email protected]\x2dmegafon.service

июл 08 09:48:54 AntonStacionPC chat[3950]: ATZ^M^M
июл 08 09:48:54 AntonStacionPC chat[3950]: OK
июл 08 09:48:54 AntonStacionPC chat[3950]:  -- got it
июл 08 09:48:54 AntonStacionPC chat[3950]: send (ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0^M)
июл 08 09:48:54 AntonStacionPC chat[3950]: expect (OK)
июл 08 09:48:54 AntonStacionPC chat[3950]: ^M
июл 08 09:48:54 AntonStacionPC chat[3950]: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0^M^M
июл 08 09:48:54 AntonStacionPC chat[3950]: +CME ERROR: Incorrect parameters^M
июл 08 09:48:57 AntonStacionPC pppd[3948]: Connect script failed
июл 08 09:48:58 AntonStacionPC pppd[3948]: Exit.
[[email protected] netctl]$
lampslave
Это наверное потому, что все попытки сводятся к гневному взгляду и крику "работай зараза!"...
Даже такое не помогает... :-)