Browse Source

added some important print commands, inputting first data of actual spider now

master
alpcentaur 11 months ago
parent
commit
320e19875a
3 changed files with 109 additions and 28 deletions
  1. BIN
      .fdb_spider_interface.py.swp
  2. +108
    -27
      fdb_spider_interface.py
  3. +1
    -1
      new_message_file.txt

BIN
.fdb_spider_interface.py.swp View File


+ 108
- 27
fdb_spider_interface.py View File

@ -3,6 +3,9 @@ from rocketchat.api import RocketChatAPI
import configparser import configparser
import json import json
import requests import requests
import yaml
import subprocess
config = configparser.ConfigParser() config = configparser.ConfigParser()
config.read('config.ini') config.read('config.ini')
@ -50,30 +53,85 @@ if __name__ == '__main__':
import time import time
import schedule import schedule
def getroomdata():
already_updated = False
import datetime
from datetime import timedelta
while True:
time.sleep(4)
#already_updated = True
now = datetime.datetime.now()
current_hour = now.strftime("%H")
room_list = []
rooms = os.listdir('rooms')
for room in rooms:
room_file = open('rooms/' + room, 'r')
room_file_raw = room_file.read()
room_file.close()
if int(current_hour) > 6:
aftersix = True
room_file_list = room_file_raw.split('§%§%')
room_list.append([room[:-3], room_file_list[0], room_file_list[1], room_file_list[2]])
return room_list
if int(current_hour) < 6:
aftersix = False
already_updated == False
if aftersix == True and already_updated == False:
room_list = []
rooms = os.listdir('rooms')
for room in rooms:
room_file = open('rooms/' + room, 'r')
room_file_raw = room_file.read()
room_file.close()
room_file_list = room_file_raw.split('§%§%')
room_list.append([room[:-4], room_file_list[0], room_file_list[1], room_file_list[2]])
import datetime
from datetime import timedelta
while True:
time.sleep(4)
with open(spider_directory + '/spiders/config.yaml' , "r") as stream:
try:
config = yaml.safe_load(stream)
except yaml.YAMLError as exc:
print(exc)
fdb_list = []
#print(config)
for key in config:
fdb_list.append(key)
data = dict({})
for room in room_list:
print(room[0])
room_fdbs = room[2]
#subprocess.run(["python", spider_directory + 'main.py', fdbs])
for room_fdb in eval(room_fdbs):
#print('room_fdb',room_fdb, 'fdb_list',fdb_list)
if room_fdb in fdb_list:
try:
iteration_var_list = config.get(room_fdb).get("entry-list").get("iteration-var-list")
except Exception as e:
print('there was an error with the entry-list parameter in the config regarding the fdb ', room_fdb)
iterdict = {}
for i in eval(iteration_var_list):
f = open(spider_directory + "/spiders/output/" + room_fdb + str(i) + "entryList.txt")
text = f.read()
dictionary_entry_list = eval(text)
iterdict[i] = dictionary_entry_list
data[room_fdb] = iterdict
print('data',data['giz'][2],'data')
already_updated = True
# if datestime.split over etc and updated= true etc
n += 1 n += 1
print(n) print(n)
@ -143,11 +201,31 @@ if __name__ == '__main__':
room_file.close() room_file.close()
room_file_list = room_file_raw.split('§%§%') room_file_list = room_file_raw.split('§%§%')
room_list.append([room[:-3], room_file_list[0], room_file_list[1], room_file_list[2]])
room_list.append([room[:-4], room_file_list[0], room_file_list[1], room_file_list[2]])
#print(room_list) #print(room_list)
answer = str(room_list) answer = str(room_list)
if user_input_list[0] == 'printfdbs':
answer = str(fdb_list)
if len(user_input_list) > 1:
answer = 'Die Syntax zum Ausgeben der konfigurierten Förderdatenbanken hat einen Fehler. Versuche es erneut, mit -> printfdbs'
if user_input_list[0] == 'deleteroom':
try:
room_id_del = user_input_list[1]
except Exception as e:
room_id_del = 'NONE'
print(e)
os.remove("rooms/" + room_id_del + ".txt")
anwer = 'deleting the requested room..'
if len(user_input_list) > 2:
answer = 'Die Syntax zum Löschen eines Raumes hat einen Fehler. Versuche es erneut, nach dem Muster -> deleteroom <room_id>'
if user_input_list[0] == 'createroom': if user_input_list[0] == 'createroom':
try: try:
@ -173,16 +251,19 @@ if __name__ == '__main__':
answer = 'Um einen Raum zu erstellen, in dem neueste Einträge geteilt werden, lautet die Syntax: createroom <Raumname> <Liste-Datenbanken> <Liste-Filtertags>' answer = 'Um einen Raum zu erstellen, in dem neueste Einträge geteilt werden, lautet die Syntax: createroom <Raumname> <Liste-Datenbanken> <Liste-Filtertags>'
else: else:
new_room = api.create_public_room(room_name,
members=[latest_message_user_username],
read_only=True)
new_room_id = new_room['channel']['_id']
room_file = open('rooms/' + new_room_id + '.txt', 'w')
room_file.write( room_name + '§%§%' + databases + '§%§%' + filters)
room_file.close()
answer = 'Der Command wurde übermittelt'
try:
new_room = api.create_public_room(room_name,
members=[latest_message_user_username],
read_only=True)
new_room_id = new_room['channel']['_id']
room_file = open('rooms/' + new_room_id + '.txt', 'w')
room_file.write( room_name + '§%§%' + databases + '§%§%' + filters)
room_file.close()
answer = 'Der Command wurde übermittelt'
except Exception as e:
print('it was not able to create the room, the original error message is:', e)
answer = 'There was an error creating the room, look up the logs.. the original error was: ' + str(e)
#print('oi', user_input) #print('oi', user_input)

+ 1
- 1
new_message_file.txt View File

@ -1 +1 @@
printrooms§%§%P6rQGgS9u7RqZM2iz
printfdbs§%§%GGDZAhgELP2HDS5eM

Loading…
Cancel
Save