Best Python code snippet using lemoncheesecake
test_extras_dictcursor.py
Source:test_extras_dictcursor.py
...22class ExtrasDictCursorTests(ConnectingTestCase):23 """Test if DictCursor extension class works."""24 def setUp(self):25 ConnectingTestCase.setUp(self)26 curs = self.conn.cursor()27 curs.execute("CREATE TEMPORARY TABLE ExtrasDictCursorTests (foo text)")28 curs.execute("INSERT INTO ExtrasDictCursorTests VALUES ('bar')")29 self.conn.commit()30 def testDictConnCursorArgs(self):31 self.conn.close()32 self.conn = self.connect(connection_factory=psycopg2.extras.DictConnection)33 cur = self.conn.cursor()34 self.assertTrue(isinstance(cur, psycopg2.extras.DictCursor))35 self.assertEqual(cur.name, None)36 # overridable37 cur = self.conn.cursor('foo',38 cursor_factory=psycopg2.extras.NamedTupleCursor)39 self.assertEqual(cur.name, 'foo')40 self.assertTrue(isinstance(cur, psycopg2.extras.NamedTupleCursor))41 def testDictCursorWithPlainCursorFetchOne(self):42 self._testWithPlainCursor(lambda curs: curs.fetchone())43 def testDictCursorWithPlainCursorFetchMany(self):44 self._testWithPlainCursor(lambda curs: curs.fetchmany(100)[0])45 def testDictCursorWithPlainCursorFetchManyNoarg(self):46 self._testWithPlainCursor(lambda curs: curs.fetchmany()[0])47 def testDictCursorWithPlainCursorFetchAll(self):48 self._testWithPlainCursor(lambda curs: curs.fetchall()[0])49 def testDictCursorWithPlainCursorIter(self):50 def getter(curs):51 for row in curs:52 return row53 self._testWithPlainCursor(getter)54 def testUpdateRow(self):55 row = self._testWithPlainCursor(lambda curs: curs.fetchone())56 row['foo'] = 'qux'57 self.assertTrue(row['foo'] == 'qux')58 self.assertTrue(row[0] == 'qux')59 @skip_before_postgres(8, 0)60 def testDictCursorWithPlainCursorIterRowNumber(self):61 curs = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)62 self._testIterRowNumber(curs)63 def _testWithPlainCursor(self, getter):64 curs = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)65 curs.execute("SELECT * FROM ExtrasDictCursorTests")66 row = getter(curs)67 self.assertTrue(row['foo'] == 'bar')68 self.assertTrue(row[0] == 'bar')69 return row70 def testDictCursorWithPlainCursorRealFetchOne(self):71 self._testWithPlainCursorReal(lambda curs: curs.fetchone())72 def testDictCursorWithPlainCursorRealFetchMany(self):73 self._testWithPlainCursorReal(lambda curs: curs.fetchmany(100)[0])74 def testDictCursorWithPlainCursorRealFetchManyNoarg(self):75 self._testWithPlainCursorReal(lambda curs: curs.fetchmany()[0])76 def testDictCursorWithPlainCursorRealFetchAll(self):77 self._testWithPlainCursorReal(lambda curs: curs.fetchall()[0])78 def testDictCursorWithPlainCursorRealIter(self):79 def getter(curs):80 for row in curs:81 return row82 self._testWithPlainCursorReal(getter)83 @skip_before_postgres(8, 0)84 def testDictCursorWithPlainCursorRealIterRowNumber(self):85 curs = self.conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)86 self._testIterRowNumber(curs)87 def _testWithPlainCursorReal(self, getter):88 curs = self.conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)89 curs.execute("SELECT * FROM ExtrasDictCursorTests")90 row = getter(curs)91 self.assertTrue(row['foo'] == 'bar')92 def testDictCursorWithNamedCursorFetchOne(self):93 self._testWithNamedCursor(lambda curs: curs.fetchone())94 def testDictCursorWithNamedCursorFetchMany(self):95 self._testWithNamedCursor(lambda curs: curs.fetchmany(100)[0])96 def testDictCursorWithNamedCursorFetchManyNoarg(self):97 self._testWithNamedCursor(lambda curs: curs.fetchmany()[0])98 def testDictCursorWithNamedCursorFetchAll(self):99 self._testWithNamedCursor(lambda curs: curs.fetchall()[0])100 def testDictCursorWithNamedCursorIter(self):101 def getter(curs):102 for row in curs:103 return row104 self._testWithNamedCursor(getter)105 @skip_before_postgres(8, 2)106 def testDictCursorWithNamedCursorNotGreedy(self):107 curs = self.conn.cursor('tmp', cursor_factory=psycopg2.extras.DictCursor)108 self._testNamedCursorNotGreedy(curs)109 @skip_before_postgres(8, 0)110 def testDictCursorWithNamedCursorIterRowNumber(self):111 curs = self.conn.cursor('tmp', cursor_factory=psycopg2.extras.DictCursor)112 self._testIterRowNumber(curs)113 def _testWithNamedCursor(self, getter):114 curs = self.conn.cursor('aname', cursor_factory=psycopg2.extras.DictCursor)115 curs.execute("SELECT * FROM ExtrasDictCursorTests")116 row = getter(curs)117 self.assertTrue(row['foo'] == 'bar')118 self.assertTrue(row[0] == 'bar')119 def testDictCursorRealWithNamedCursorFetchOne(self):120 self._testWithNamedCursorReal(lambda curs: curs.fetchone())121 def testDictCursorRealWithNamedCursorFetchMany(self):122 self._testWithNamedCursorReal(lambda curs: curs.fetchmany(100)[0])123 def testDictCursorRealWithNamedCursorFetchManyNoarg(self):124 self._testWithNamedCursorReal(lambda curs: curs.fetchmany()[0])125 def testDictCursorRealWithNamedCursorFetchAll(self):126 self._testWithNamedCursorReal(lambda curs: curs.fetchall()[0])127 def testDictCursorRealWithNamedCursorIter(self):128 def getter(curs):129 for row in curs:130 return row131 self._testWithNamedCursorReal(getter)132 @skip_before_postgres(8, 2)133 def testDictCursorRealWithNamedCursorNotGreedy(self):134 curs = self.conn.cursor('tmp', cursor_factory=psycopg2.extras.RealDictCursor)135 self._testNamedCursorNotGreedy(curs)136 @skip_before_postgres(8, 0)137 def testDictCursorRealWithNamedCursorIterRowNumber(self):138 curs = self.conn.cursor('tmp', cursor_factory=psycopg2.extras.RealDictCursor)139 self._testIterRowNumber(curs)140 def _testWithNamedCursorReal(self, getter):141 curs = self.conn.cursor('aname',142 cursor_factory=psycopg2.extras.RealDictCursor)143 curs.execute("SELECT * FROM ExtrasDictCursorTests")144 row = getter(curs)145 self.assertTrue(row['foo'] == 'bar')146 def _testNamedCursorNotGreedy(self, curs):147 curs.itersize = 2148 curs.execute("""select clock_timestamp() as ts from generate_series(1,3)""")149 recs = []150 for t in curs:151 time.sleep(0.01)152 recs.append(t)153 # check that the dataset was not fetched in a single gulp154 self.assertTrue(recs[1]['ts'] - recs[0]['ts'] < timedelta(seconds=0.005))155 self.assertTrue(recs[2]['ts'] - recs[1]['ts'] > timedelta(seconds=0.0099))156 def _testIterRowNumber(self, curs):157 # Only checking for dataset < itersize:158 # see CursorTests.test_iter_named_cursor_rownumber159 curs.itersize = 20160 curs.execute("""select * from generate_series(1,10)""")161 for i, r in enumerate(curs):162 self.assertEqual(i + 1, curs.rownumber)163 def testPickleDictRow(self):164 import pickle165 curs = self.conn.cursor(cursor_factory=psycopg2.extras.DictCursor)166 curs.execute("select 10 as a, 20 as b")167 r = curs.fetchone()168 d = pickle.dumps(r)169 r1 = pickle.loads(d)170 self.assertEqual(r, r1)171 self.assertEqual(r[0], r1[0])172 self.assertEqual(r[1], r1[1])173 self.assertEqual(r['a'], r1['a'])174 self.assertEqual(r['b'], r1['b'])175 self.assertEqual(r._index, r1._index)176 def testPickleRealDictRow(self):177 import pickle178 curs = self.conn.cursor(cursor_factory=psycopg2.extras.RealDictCursor)179 curs.execute("select 10 as a, 20 as b")180 r = curs.fetchone()181 d = pickle.dumps(r)182 r1 = pickle.loads(d)183 self.assertEqual(r, r1)184 self.assertEqual(r['a'], r1['a'])185 self.assertEqual(r['b'], r1['b'])186 self.assertEqual(r._column_mapping, r1._column_mapping)187class NamedTupleCursorTest(ConnectingTestCase):188 def setUp(self):189 ConnectingTestCase.setUp(self)190 from psycopg2.extras import NamedTupleConnection191 try:192 from collections import namedtuple # noqa193 except ImportError:194 return195 self.conn = self.connect(connection_factory=NamedTupleConnection)196 curs = self.conn.cursor()197 curs.execute("CREATE TEMPORARY TABLE nttest (i int, s text)")198 curs.execute("INSERT INTO nttest VALUES (1, 'foo')")199 curs.execute("INSERT INTO nttest VALUES (2, 'bar')")200 curs.execute("INSERT INTO nttest VALUES (3, 'baz')")201 self.conn.commit()202 @skip_if_no_namedtuple203 def test_cursor_args(self):204 cur = self.conn.cursor('foo', cursor_factory=psycopg2.extras.DictCursor)205 self.assertEqual(cur.name, 'foo')206 self.assertTrue(isinstance(cur, psycopg2.extras.DictCursor))207 @skip_if_no_namedtuple208 def test_fetchone(self):209 curs = self.conn.cursor()210 curs.execute("select * from nttest order by 1")211 t = curs.fetchone()212 self.assertEqual(t[0], 1)213 self.assertEqual(t.i, 1)214 self.assertEqual(t[1], 'foo')215 self.assertEqual(t.s, 'foo')216 self.assertEqual(curs.rownumber, 1)217 self.assertEqual(curs.rowcount, 3)218 @skip_if_no_namedtuple219 def test_fetchmany_noarg(self):220 curs = self.conn.cursor()221 curs.arraysize = 2222 curs.execute("select * from nttest order by 1")223 res = curs.fetchmany()224 self.assertEqual(2, len(res))225 self.assertEqual(res[0].i, 1)226 self.assertEqual(res[0].s, 'foo')227 self.assertEqual(res[1].i, 2)228 self.assertEqual(res[1].s, 'bar')229 self.assertEqual(curs.rownumber, 2)230 self.assertEqual(curs.rowcount, 3)231 @skip_if_no_namedtuple232 def test_fetchmany(self):233 curs = self.conn.cursor()234 curs.execute("select * from nttest order by 1")235 res = curs.fetchmany(2)236 self.assertEqual(2, len(res))237 self.assertEqual(res[0].i, 1)238 self.assertEqual(res[0].s, 'foo')239 self.assertEqual(res[1].i, 2)240 self.assertEqual(res[1].s, 'bar')241 self.assertEqual(curs.rownumber, 2)242 self.assertEqual(curs.rowcount, 3)243 @skip_if_no_namedtuple244 def test_fetchall(self):245 curs = self.conn.cursor()246 curs.execute("select * from nttest order by 1")247 res = curs.fetchall()248 self.assertEqual(3, len(res))249 self.assertEqual(res[0].i, 1)250 self.assertEqual(res[0].s, 'foo')251 self.assertEqual(res[1].i, 2)252 self.assertEqual(res[1].s, 'bar')253 self.assertEqual(res[2].i, 3)254 self.assertEqual(res[2].s, 'baz')255 self.assertEqual(curs.rownumber, 3)256 self.assertEqual(curs.rowcount, 3)257 @skip_if_no_namedtuple258 def test_executemany(self):259 curs = self.conn.cursor()260 curs.executemany("delete from nttest where i = %s",261 [(1,), (2,)])262 curs.execute("select * from nttest order by 1")263 res = curs.fetchall()264 self.assertEqual(1, len(res))265 self.assertEqual(res[0].i, 3)266 self.assertEqual(res[0].s, 'baz')267 @skip_if_no_namedtuple268 def test_iter(self):269 curs = self.conn.cursor()270 curs.execute("select * from nttest order by 1")271 i = iter(curs)272 self.assertEqual(curs.rownumber, 0)273 t = next(i)274 self.assertEqual(t.i, 1)275 self.assertEqual(t.s, 'foo')276 self.assertEqual(curs.rownumber, 1)277 self.assertEqual(curs.rowcount, 3)278 t = next(i)279 self.assertEqual(t.i, 2)280 self.assertEqual(t.s, 'bar')281 self.assertEqual(curs.rownumber, 2)282 self.assertEqual(curs.rowcount, 3)283 t = next(i)284 self.assertEqual(t.i, 3)285 self.assertEqual(t.s, 'baz')286 self.assertRaises(StopIteration, i.__next__)287 self.assertEqual(curs.rownumber, 3)288 self.assertEqual(curs.rowcount, 3)289 def test_error_message(self):290 try:291 from collections import namedtuple # noqa292 except ImportError:293 # an import error somewhere294 from psycopg2.extras import NamedTupleConnection295 try:296 self.conn = self.connect(297 connection_factory=NamedTupleConnection)298 curs = self.conn.cursor()299 curs.execute("select 1")300 curs.fetchone()301 except ImportError:302 pass303 else:304 self.fail("expecting ImportError")305 else:306 return self.skipTest("namedtuple available")307 @skip_if_no_namedtuple308 def test_record_updated(self):309 curs = self.conn.cursor()310 curs.execute("select 1 as foo;")311 r = curs.fetchone()312 self.assertEqual(r.foo, 1)313 curs.execute("select 2 as bar;")314 r = curs.fetchone()315 self.assertEqual(r.bar, 2)316 self.assertRaises(AttributeError, getattr, r, 'foo')317 @skip_if_no_namedtuple318 def test_no_result_no_surprise(self):319 curs = self.conn.cursor()320 curs.execute("update nttest set s = s")321 self.assertRaises(psycopg2.ProgrammingError, curs.fetchone)322 curs.execute("update nttest set s = s")323 self.assertRaises(psycopg2.ProgrammingError, curs.fetchall)324 @skip_if_no_namedtuple325 def test_bad_col_names(self):326 curs = self.conn.cursor()327 curs.execute('select 1 as "foo.bar_baz", 2 as "?column?", 3 as "3"')328 rv = curs.fetchone()329 self.assertEqual(rv.foo_bar_baz, 1)330 self.assertEqual(rv.f_column_, 2)331 self.assertEqual(rv.f3, 3)332 @skip_if_no_namedtuple333 def test_minimal_generation(self):334 # Instrument the class to verify it gets called the minimum number of times.335 from psycopg2.extras import NamedTupleCursor336 f_orig = NamedTupleCursor._make_nt337 calls = [0]338 def f_patched(self_):339 calls[0] += 1340 return f_orig(self_)341 NamedTupleCursor._make_nt = f_patched342 try:343 curs = self.conn.cursor()344 curs.execute("select * from nttest order by 1")345 curs.fetchone()346 curs.fetchone()347 curs.fetchone()348 self.assertEqual(1, calls[0])349 curs.execute("select * from nttest order by 1")350 curs.fetchone()351 curs.fetchall()352 self.assertEqual(2, calls[0])353 curs.execute("select * from nttest order by 1")354 curs.fetchone()355 curs.fetchmany(1)356 self.assertEqual(3, calls[0])357 finally:358 NamedTupleCursor._make_nt = f_orig359 @skip_if_no_namedtuple360 @skip_before_postgres(8, 0)361 def test_named(self):362 curs = self.conn.cursor('tmp')363 curs.execute("""select i from generate_series(0,9) i""")364 recs = []365 recs.extend(curs.fetchmany(5))366 recs.append(curs.fetchone())367 recs.extend(curs.fetchall())368 self.assertEqual(list(range(10)), [t.i for t in recs])369 @skip_if_no_namedtuple370 def test_named_fetchone(self):371 curs = self.conn.cursor('tmp')372 curs.execute("""select 42 as i""")373 t = curs.fetchone()374 self.assertEqual(t.i, 42)375 @skip_if_no_namedtuple376 def test_named_fetchmany(self):377 curs = self.conn.cursor('tmp')378 curs.execute("""select 42 as i""")379 recs = curs.fetchmany(10)380 self.assertEqual(recs[0].i, 42)381 @skip_if_no_namedtuple382 def test_named_fetchall(self):383 curs = self.conn.cursor('tmp')384 curs.execute("""select 42 as i""")385 recs = curs.fetchall()386 self.assertEqual(recs[0].i, 42)387 @skip_if_no_namedtuple388 @skip_before_postgres(8, 2)389 def test_not_greedy(self):390 curs = self.conn.cursor('tmp')391 curs.itersize = 2392 curs.execute("""select clock_timestamp() as ts from generate_series(1,3)""")393 recs = []394 for t in curs:395 time.sleep(0.01)396 recs.append(t)397 # check that the dataset was not fetched in a single gulp398 self.assertTrue(recs[1].ts - recs[0].ts < timedelta(seconds=0.005))399 self.assertTrue(recs[2].ts - recs[1].ts > timedelta(seconds=0.0099))400 @skip_if_no_namedtuple401 @skip_before_postgres(8, 0)402 def test_named_rownumber(self):403 curs = self.conn.cursor('tmp')404 # Only checking for dataset < itersize:405 # see CursorTests.test_iter_named_cursor_rownumber406 curs.itersize = 4407 curs.execute("""select * from generate_series(1,3)""")408 for i, t in enumerate(curs):409 self.assertEqual(i + 1, curs.rownumber)410def test_suite():411 return unittest.TestLoader().loadTestsFromName(__name__)412if __name__ == "__main__":...
карта в прект2.py
Source:карта в прект2.py
1import pygame2import sys3import os4import requests5import math6import district7import webbrowser8class MapParams(object):9 def __init__(self):10 self.lat = 59.96527811 self.lon = 30.21349212 self.zoom = 913 self.type = "map"14 def coords(self):15 return str(self.lon) + "," + str(self.lat)16 def update(self, event):17 my_step = 0.01018 if event.key == 280 and self.zoom < 19:19 self.zoom += 120 elif event.key == 281 and self.zoom > 2:21 self.zoom -= 122 elif event.key == 276:23 self.lon -= my_step * math.pow(2, 15 - self.zoom)24 elif event.key == 275:25 self.lon += my_step * math.pow(2, 15 - self.zoom)26 elif event.key == 273 and self.lat < 85:27 self.lat += my_step * math.pow(2, 15 - self.zoom)28 elif event.key == 274 and self.lat > -85:29 self.lat -= my_step * math.pow(2, 15 - self.zoom)30def load_map(mp):31 map_request = "http://static-maps.yandex.ru/1.x/?ll={ll}&z={z}&l={type}".format(ll=mp.coords(), z=mp.zoom,32 type=mp.type)33 response = requests.get(map_request)34 if not response:35 print("ÐÑибка вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа:")36 print(map_request)37 print("Http ÑÑаÑÑÑ:", response.status_code, "(", response.reason, ")")38 sys.exit(1)39 map_file = "map.png"40 try:41 with open(map_file, "wb") as file:42 file.write(response.content)43 except IOError as ex:44 print("ÐÑибка запиÑи Ñайла:", ex)45 sys.exit(2)46 return map_file47def main():48 initialized = False49 screen = None50 mp = MapParams()51 map_file = load_map(mp)52 markers_list = []53 def init_pygame():54 nonlocal initialized55 nonlocal screen56 nonlocal map_file57 pygame.init()58 screen = pygame.display.set_mode((600, 450))59 map_file = load_map(mp)60 markers_list.clear()61 initialized = True62 def finalize(district_caption=None, district_name=None, *, map_file):63 nonlocal initialized64 pygame.quit()65 os.remove(map_file)66 webbrowser.open('http://localhost:5000') # FIXME: this only works due to natural delay when opening the page67 if district_caption and district_name:68 district.main(district_caption, district_name)69 initialized = False70 while True:71 if not initialized:72 init_pygame()73 pygame.display.set_caption('ÐÑбеÑиÑе Ñайон')74 event = pygame.event.wait()75 cursor = pygame.mouse.get_pos()76 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:77 print('you clicked {}'.format(cursor))78 markers_list.append(cursor)79 if 225 < cursor[0] and cursor[0] < 420 and 188 < cursor[1] and cursor[1] < 340:80 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:81 finalize('невÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'neva', map_file=map_file)82 if 67 < cursor[0] and cursor[0] < 194 and 145 < cursor[1] and cursor[1] < 227:83 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:84 finalize('кÑонÑÑадÑÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'kronshtadt', map_file=map_file)85 if 70 < cursor[0] and cursor[0] < 169 and 232 < cursor[1] and cursor[1] < 322:86 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:87 finalize('ломоноÑовÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'lomonosov', map_file=map_file)88 if 169 < cursor[0] and cursor[0] < 226 and 248 < cursor[1] and cursor[1] < 356:89 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:90 finalize('пеÑÑодвоÑÑовÑй Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'petrodvorets', map_file=map_file)91 if 226 < cursor[0] and cursor[0] < 311 and 337 < cursor[1] and cursor[1] < 448:92 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:93 finalize('кÑаÑноÑелÑÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'krasn', map_file=map_file)94 if 312 < cursor[0] and cursor[0] < 411 and 341 < cursor[1] and cursor[1] < 448:95 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:96 finalize('пÑÑкинÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'pushkin', map_file=map_file)97 if 417 < cursor[0] and cursor[0] < 565 and 322 < cursor[1] and cursor[1] < 448:98 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:99 finalize('колпинÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'kolpino', map_file=map_file)100 if 192 < cursor[0] and cursor[0] < 394 and 146 < cursor[1] and cursor[1] < 184:101 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:102 finalize('пÑимоÑÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'prim', map_file=map_file)103 if 1 < cursor[0] and cursor[0] < 66 and 223 < cursor[1] and cursor[1] < 312:104 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:105 finalize('кингиÑеппÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'kingisep', map_file=map_file)106 if 1 < cursor[0] and cursor[0] < 166 and 312 < cursor[1] and cursor[1] < 448:107 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:108 finalize('волоÑовÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'volosovo', map_file=map_file)109 if 263 < cursor[0] and cursor[0] < 416 and 1 < cursor[1] and cursor[1] < 140:110 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:111 finalize('вÑбоÑгÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'viborg', map_file=map_file)112 if 1 < cursor[0] and cursor[0] < 262 and 1 < cursor[1] and cursor[1] < 145:113 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:114 finalize('кÑÑоÑÑнÑй Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'kurort', map_file=map_file)115 if 416 < cursor[0] and cursor[0] < 494 and 1 < cursor[1] and cursor[1] < 188:116 if event.type == pygame.MOUSEBUTTONDOWN and pygame.mouse.get_pressed()[0]:117 finalize('калининÑкий Ñайон СанкÑ-ÐеÑеÑбÑÑга', 'kalin', map_file=map_file)118 elif event.type == pygame.QUIT:119 break120 elif event.type == pygame.KEYUP:121 mp.update(event)122 if initialized:123 image = pygame.image.load(map_file)124 screen.blit(image, (0, 0))125 for m in markers_list:126 pygame.draw.circle(screen, (0, 0, 255), m, 3, 1)127 pygame.display.flip()128 finalize(map_file=map_file)129if __name__ == "__main__":...
db.py
Source:db.py
...11 password=self.pswrd,12 db=self.dbnme,13 cursorclass=pymysql.cursors.DictCursor)14 def con_auth(self, mobile, user_pass):15 with self.connection.cursor() as cursor:16 com = "SELECT * FROM users WHERE userid='"+mobile+"'"17 cursor.execute(com)18 check = cursor.fetchone()19 self.connection.commit()20 try:21 userpass = check["password"]22 if genpass.check_password_hash(userpass, user_pass):23 return check24 except:25 return None26 def register_user(self, mobile, user_pass, username):27 with self.connection.cursor() as cursor:28 hash_pass = genpass.User(mobile, user_pass)29 hash_pass = hash_pass.pw_hash30 com = "INSERT INTO users VALUES ('"+mobile+"', '"+hash_pass+"', '"+username+"', 'user')"31 cursor.execute(com)32 check = cursor.fetchone()33 self.connection.commit()34 def getUserPassword(self, mobile):35 with self.connection.cursor() as cursor:36 com = "SELECT * FROM u"+mobile+""37 cursor.execute(com)38 check = cursor.fetchall()39 self.connection.commit()40 return check41 def createUserDB(self, mobile):42 with self.connection.cursor() as cursor:43 com = """CREATE TABLE u"""+mobile+"""44 (website char(50) NOT NULL,45 username char(50) NOT NULL,46 userpass char(250) NOT NULL);"""47 cursor.execute(com)48 49 def createTeamDB(self, team):50 with self.connection.cursor() as cursor:51 com = """CREATE TABLE t_"""+team+"""52 (website char(50) NOT NULL,53 username char(50) NOT NULL,54 userpass char(250) NOT NULL);"""55 cursor.execute(com)56 def addUserPassword(self, website, userID, userPass, mobile):57 with self.connection.cursor() as cursor:58 com = "INSERT into u"+mobile+" VALUES('"+website+"', '"+userID+"', '"+userPass+"')"59 cursor.execute(com)60 self.connection.commit()61 def checkUser(self, userid):62 with self.connection.cursor() as cursor:63 com = "SELECT * FROM users WHERE userid='"+userid+"'"64 cursor.execute(com)65 check = cursor.fetchone()66 self.connection.commit()67 return check68 def checkTeam(self, teamid):69 with self.connection.cursor() as cursor:70 com = "SELECT * FROM teams WHERE teamName='"+teamid+"'"71 cursor.execute(com)72 check = cursor.fetchone()73 self.connection.commit()74 return check75 def addToTeam(self, team, user, userType):76 with self.connection.cursor() as cursor:77 com = "INSERT into teams VALUES('"+team+"', '"+user+"', '"+userType+"')"78 cursor.execute(com)79 self.connection.commit()80 def checkUserTeams(self, userid):81 with self.connection.cursor() as cursor:82 com = "SELECT * from teams WHERE userid='"+userid+"'"83 cursor.execute(com)84 check = cursor.fetchall()85 return check86 def checkTeamAccess(self, userid, teamName):87 with self.connection.cursor() as cursor:88 com = "SELECT * from teams WHERE userid='"+userid+"' and teamName='"+teamName+"'"89 cursor.execute(com)90 check = cursor.fetchone()91 return check92 def getTeamPassword(self, team):93 with self.connection.cursor() as cursor:94 com = "SELECT * FROM t_"+team+""95 cursor.execute(com)96 check = cursor.fetchall()97 self.connection.commit()98 return check99 def removeTeam(self, teamName):100 with self.connection.cursor() as cursor:101 com = "DELETE from teams WHERE teamName='"+teamName+"'"102 cursor.execute(com)103 self.connection.commit() 104 def deleteTeam(self, teamName):105 with self.connection.cursor() as cursor:106 com = "DROP table t_"+teamName107 cursor.execute(com)108 self.connection.commit()109 self.removeTeam(teamName)110 def retrievePassword(self, mobile, website, username):111 with self.connection.cursor() as cursor:112 com = "SELECT userpass from u"+mobile+" WHERE website='"+website+"' and username='"+username+"'"113 cursor.execute(com)114 checkPass = cursor.fetchone()115 return checkPass116 def addTeamPassword(self, team, website, username, password):117 with self.connection.cursor() as cursor:118 com = "INSERT into t_"+team+" VALUES('"+website+"', '"+username+"', '"+password+"')"119 cursor.execute(com)120 self.connection.commit()121 def retrieveTeamPassword(self, team, website, username):122 with self.connection.cursor() as cursor:123 com = "SELECT userpass from t_"+team+" WHERE website='"+website+"' and username='"+username+"'"124 cursor.execute(com)125 checkPass = cursor.fetchone()126 return checkPass127 def deleteTeamPass(self, teamName, website, username):128 with self.connection.cursor() as cursor:129 com = "DELETE from t_"+teamName+" WHERE website='"+website+"' and username='"+username+"'"130 cursor.execute(com)131 self.connection.commit()132 def deleteUserPass(self, mobile, website, username):133 with self.connection.cursor() as cursor:134 com = "DELETE from u"+mobile+" WHERE website='"+website+"' and username='"+username+"'"135 cursor.execute(com)...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!