SELECT t1.telegram_id, t1.text, t2.text, t3.text, t4.text, t5.text
FROM first_table AS t1
LEFT JOIN second_table AS t2
ON t2.telegram_id = t1.telegram_id
LEFT JOIN third_table AS t3
ON t3.telegram_id = t1.telegram_id
LEFT JOIN forth_table AS t4
ON t4.telegram_id = t1.telegram_id
LEFT JOIN fifth_table AS t5
ON t5.telegram_id = t1.telegram_id
WHERE t1.telegram_id=<какой-то ID>
import requests
class SomeService:
def __init__(self, **my_params):
self.my_params = my_params
def some_action(self):
response = requests.get(SOMEURL, my_params)
return response.json()
>>> a = 'ddf%%21b#'
>>> b = '%%$ #'
>>>
>>>
>>> any([x.isdigit() or x.isalpha() for x in a])
True
>>> any([x.isdigit() or x.isalpha() for x in b])
False
>>>
>>> a = 'fgdf1'
>>> all([
any([x.isdigit() for x in a]),
any([x.isalpha() and x.islower() for x in a]),
any([x.isalpha() and x.isupper() for x in a])
])
False
>>> a = 'ssdS2'
True
>>> a = '4455'
False
>>> a = '4##sedfsdfD'
True
>>> import re
>>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', ''))
False
>>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$###@@*'))
False
>>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$##e#@@*'))
True
>>> bool(re.match('.*([a-z]|[A_Z]|[0-9]).*', '$##34#@@*'))
True
>>>
import re
txt = '''{
"text": ":warning: OK - serv1: Service "TrustedInstaller" (Windows Modules Installer) is not running (startup type automatic)"
}'''
cleaned_dict = {}
for im in re.findall(r'\"(\w+)\": \"(.*)\"', txt):
cleaned_dict[im[0]] = im[1].replace('"', "'")
print(cleaned_dict)
...
if b>10:
print("Impulse outside the schedule")
exit() # <----- закомментировать или удалить или правильно отформатировать пробелами
def f(x):
if x<a:
...
text = '''
Version: V3
Subject: CN=Фамилия Имя Отчество, SURNAME=Фамилия, GIVENNAME=Имя Отчество, C=RU, ST=23 Регион, L=Город, STREET=ул. улица д. 00, OID.0.0.000.000.0=#00000000000000000000000000, OID.0.0.000.000.0=#00000000000000000000000000, EMAILADDRESS=email@gmail.com, OID.0.0.000.000.0=#00000000000000000000000000
Signature Algorithm: 0.0.000.0.0.0.0.0, OID = 0.0.000.0.0.0.0.0
...не нужные данные...
Validity: [From: Thu Oct 10 09:45:58 MSK 2019,
To: Sat Oct 10 09:55:58 MSK 2020]
Issuer: CN="ООО \"РОГА И КОПЫТА\"", O="ООО \"РОГА И КОПЫТА\"", STREET=ул. улица д. 00, L=Город, ST=23 Регион, C=RU, OID.0.0.000.000.0=#00000000000000000000000000, OID.0.0.000.000.0=#00000000000000000000000000, EMAILADDRESS=email@gmail.com
SerialNumber: [ 00000000 00000000 0000]
...не нужные данные...
'''
for line in text.split('\n'):
if 'Subject' in line:
a = [x.split('=') for x in line.split(':')[1].split(',')]
data = dict(zip([x[0].strip() for x in a], [x[1].strip() for x in a]))
print('CN> ', data['CN'])
print('SURNAME> ', data['SURNAME'])
Как такой текст расшифровать уже на Python 3
import rsa
import base64
PRIVKEY = '''<<<SOMEDATA777
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEA3bv1e8E+bR53cvDwwwAF3Yhc+g47OvFpmmb0oi/H5xV/u1us
UCBqgC0Apz1CcAAQJM/0TrKF7alfDeAvUD2E0E8SU7UxBHc3Bsn75Gs0wt3kVzqL
TBfBRBW/qVdcNINkAnQUrOJ784OX8bMbH1DtMbvZAoBHFOaEv5G/fUWICBARsEsl
hSvFxCXyY4tBwDgPTP1QaF/pzlHhl2L8EVUNNjworEoG897uaDwyJbbShfMlrgZG
zEnNFr6WYlCsHAlKoWKYq2Duag4ojPV7bh9sVyXCketlZHkYgLb0suw5jZZYuZ42
UhPtQYNKpDmWpnrECkUD6T/1UXTRHvubrKnvywIDAQABAoIBADcHs/gf0KdyPUD4
jThIJCyD8Fda+tY5HfVlAefSpfEzA71zFgPY17Wx9YyMBpYXXepU9hQl+FkwhNfD
wNpQOkscpLbDrEOodq6nqG1bMf/+4/HGJNYguyVzpFqZxNd/mG2Hc64ok4yvJyGk
SuHtysBiF4yoW3vTbjTBLl4fyI//PquJk3pWE6n30ooVs/ZDIldDYxLTzaRhjGIl
lSjq2K2ItlsOav912euGebjQXWXAd3m0F9ngrFLjljmCrE8qgDeuFmxd7x5Czvua
AYgTJzMSbfBCSti1xOrmQGUX+BEhXVhlmhn5slaPh6h1L71uoeipAZS21QbXXAI3
fT5nsdkCgYEA8yxRWMfZhZzRrCv/HAwzyZUfkfBRXqy+aacO6lUnE15qPb4aE8Em
gYFCB20hsJczKakxQUiClRCn6yOfgLnJG/vq2vR5aydV7OEXBe6bT3j4RbGuCaZZ
/RzuehoZqSpexclDFZvk54QgmfNZjoZxf/IAt+ZN6tUL8z51j4+JS78CgYEA6W4k
N4xE0zCLds5DakeqbD3oEE9fY5NKJIp61JR4HVBASJU/e91SPWEbrAfcMTayTav5
hyz7vN7aEh2UAeG5945PdmiATWnROSmQN3vin4AsLmeUFJHGL4qT77k5Wt9Ql43k
QbEyjw+wQAdxnghLoiHyozYzsZhvbq942bvgDvUCgYBo1t+PdkIq38xp/WH0VrJx
I3DD+6cpOTKy3EqK7wF00Uzep7oYcDrItNCh4QQYXWe6e2535eoemFq8/tPCrNau
0PKVSbebYg8inHzPmuqs3cu0SIFvOaAshy+txtjvXQwVG8tnYpnS0t03Ynpm/0Gp
1s1Ge+115DpNucz3gvu/gwKBgDOM0FC4GGbvPI1jJb4tz3QSA9K+RJmP6HrDXjbe
BtyqYVfmJdvr14KYlGzcW4M+ygefJ/7zLzDZoh0IDSyRNel2sxO6JkNyT/Mou6GV
KUoCGz+wPiKAwtyy5NK2+/SWhozBmBvtzvWLCGhLfIri2BkZGCV1Ddt1h35RIAYt
mGCVAoGAK+IfA2Nkqi09xsU1KPPJTL4P54OsEbE5fNm+hxL1jpfU3cz7VV9X+yvV
fseNn1qkQTvC4JERIypOnkti3xpsWaedP5fHHqveSDeR6ObRRTFcM990EogN9IzE
WOUCpOARkqvdlQO5UwP4fVgJmKERicoHjsuWOf4byZad7FjJYE4=
-----END RSA PRIVATE KEY-----
SOMEDATA777'''
privkey = rsa.PrivateKey.load_pkcs1(
PRIVKEY,
)
crypted_text = "qwcxZgHZ1hccWeZG6UHV3s7qLTDBtz+tUiv/qOB9gxtm9JQRXnUb+MWXxU4oU+ek0y5EMR+QTh7w u0WivMjNxmmmvpWkBkcnigsqrosqnksvV5OSmcyu8/dMDdRpT87fsmTjrBlwrXBy+r9fZqQ2eILH X0dEsUNexQy2z24FCVJRpNTwH9bXpgCJkuQKOOA5jze2dUIA+78es1f09B3dQQEEWF5jNv2NlkKa L3teqYe1StJ0V8ButejzDoXzTxjgTLA1J7rJgbiJ7zooPRZafZakZwGDO2c2bB9fGDYd90TD4Y0G mBybEs/nThjGry/F+dtxu1df0O6HgPTDnnol6Q=="
crypted_text = base64.b64decode(crypted_text.encode())
message = rsa.decrypt(crypted_text, privkey)
print('DECRYPTED> ', message.decode())
PhoneOperator:
code = CharField()
name =
region =
PhoneRange:
minval = BigIntegerField()
maxval = BigIntegerField()
operator = ForeignKey(PhoneOperator)
Тогда
my_operator = PhoneOperator.objects.filter(
code=my_number[0:3],
phonerange__minval__lte=my_number[3:],
phonerange__maxval__gte=my_number[3:]
)