#!/usr/bin/env python3
-from tkinter import *
-from tkinter import ttk
+import sqlite3, re
+
+def isDatabaseExist():
+ try:
+ f = open('ml-logs.db')
+ except FileNotFoundError:
+ return False
+ f.close()
+ return True
def dbNotFound():
-
- dbnf = Tk()
- dbnf.title('Mike Lima')
- icon = PhotoImage(file="ml-windowicon.png")
- dbnf.call('wm', 'iconphoto', dbnf._w, icon)
- dbnf.geometry('200x150')
- msg = ttk.Label(dbnf, text="Nie znaleziono pliku bazy danych. Zostanie on utworzony.")
- msg.pack()
- dbnf.mainloop()
-
-try:
- open('ml-logs.db')
-except FileNotFoundError:
- dbNotFound()
+ con = sqlite3.connect("ml-logs.db")
+ cur = con.cursor()
+ #lat = latitude, log = longitute
+ cur.execute("CREATE TABLE logger(sign,name,lat,lon)")
+ cur.execute("CREATE TABLE pacom(sign,name,lat,lon)")
+ #rst = raport, dt=czas/data, eq=PMR/CB, ch=2/12(PMR),11/13(CB)
+ cur.execute("CREATE TABLE logs(sign,name,rst,dt,eq,ch)")
+ con.close()
+
+def loadDataFromPAcom(pacomList):
+ con = sqlite3.connect("ml-logs.db")
+ cur = con.cursor()
+ cur.executemany("INSERT INTO pacom VALUES(?, ?, ?)", pacomList)
+ con.commit()
+ con.close()
+
+def checkLoggerData(loggerData, ldType):
+ con = sqlite3.connect("ml-logs.db")
+ cur = con.cursor()
+ if ldType:
+ res = cur.execute(f"SELECT * FROM logger WHERE sign = {loggerData}")
+ else:
+ res = cur.execute(f"SELECT * FROM logger WHERE name = '{loggerData}'")
+ result = res.fetchone()
+ print(result)
+ con.close()
+
+def isSignOrName(phrase):
+ prog = re.compile('^\d*$')
+ if not prog.match(phrase) == None:
+ return True
+ else:
+ return False
+
+def saveLoggerData(phrase):
+ con = sqlite3.connect('ml-logs.db')
+ cur = con.cursor()
+ if isSignOrName(phrase):
+ cur.execute(f"INSERT INTO logger VALUES ({phrase},'None',0.0,0.0)")
+ else:
+ cur.execute(f"INSERT INTO logger VALUES (0,'{phrase}',0.0,0.0)")
+ con.commit()
+ con.close()
+
+def updateLoggerData(phrase,sign,name,lat,lon):
+ con = sqlite3.connect('ml-logs.db')
+ cur = con.cursor()
+ if isSignOrName(phrase):
+ cur.execute(f"UPDATE logger SET sign = {sign}, name = '{name}', lat = {lat}, lon = {lon} WHERE sign = {phrase}")
+ else:
+ cur.execute(f"UPDATE logger SET sign = {sign}, name = '{name}', lat = {lat}, lon = {lon} WHERE name = '{phrase}'")
+ con.commit()
+ con.close()
from bs4 import BeautifulSoup, Tag
import requests
-url="http://planawaryjny.com/znaki-wywolawcze"
-response = requests.get(url)
-soup = BeautifulSoup(response.content, "html.parser")
-pa_comCSList=soup.find_all("tr");
+def getDataFromPAcom(paComList):
+ #paComList=[]
+ url="http://planawaryjny.com/znaki-wywolawcze"
+ response = requests.get(url)
+ soup = BeautifulSoup(response.content, "html.parser")
+ pa_comCSList=soup.find_all("tr");
-for line in soup.find_all("tr")[1:]:
- #print(vars(line.next_element))
- lp=line.next_element.contents[0]
- csElement=line.next_element.next_sibling
- cs=csElement.contents[0]
- nameElement=csElement.next_sibling
- if nameElement.contents:
- name=nameElement.contents[0]
- else:
- name="N_A"
- mapLinkElement=nameElement.next_sibling
- mapLink=mapLinkElement.contents[0]
- if isinstance(mapLink, Tag):
- mapLinkHref=mapLink.attrs['href']
- mapLinkHrefList=mapLinkHref.split('?')
- gpsCords=mapLinkHrefList[1]
- else:
- gpsCords="N_A"
- print(f"Znak: {cs}\t Nazwa: {name}\t GPS: {gpsCords}")
+ for line in soup.find_all("tr")[1:]:
+ #print(vars(line.next_element))
+ lp=line.next_element.contents[0]
+ csElement=line.next_element.next_sibling
+ cs=csElement.contents[0][5:]
+ nameElement=csElement.next_sibling
+ if nameElement.contents:
+ name=nameElement.contents[0]
+ else:
+ name="N_A"
+ mapLinkElement=nameElement.next_sibling
+ mapLink=mapLinkElement.contents[0]
+ if isinstance(mapLink, Tag):
+ mapLinkHref=mapLink.attrs['href']
+ mapLinkHrefList=mapLinkHref.split('?')
+ gpsCords=mapLinkHrefList[1]
+ gpsCordsList=gpsCords.split('=')
+ gpsLat=gpsCordsList[1].rstrip('&lon')
+ gpsLon=gpsCordsList[2]
+ else:
+ gpsCords="N_A"
+ gpsLat="N_A"
+ gpsLon="N_A"
+ paComList.append((cs, name, gpsLat, gpsLon))
+ #print(f"Znak: {cs}\t Nazwa: {name}\t GPS: {gpsCords}")
+ #return paComList
+
+pCL=[]
+getDataFromPAcom(pCL)
+#print(pCL)
--- /dev/null
+#!/usr/bin/env python3
+
+import db
+
+p = '2137'
+
+if db.isDatabaseExist():
+ db.checkLoggerData(p, db.isSignOrName(p))
+ #db.updateLoggerData(p, 2137, 'JuanPabloSec', 50.24, 21.49)
+else:
+ db.dbNotFound()
+
from tkinter import *
from tkinter import ttk
+import re
+
"""
def csCHandler(arg1):
csCValue=csType.get()
def findInfoAbout():
phrase=csValue.get()
PA_comFlag=checkPA_com.get()
+ prog = re.compile('^\d*$');
+ if not prog.match(phrase) == None:
+ print("Sign");
+ else:
+ print("Name");
print(phrase)
print(PA_comFlag)