def process_program(self, id: int) -> Optional[str]: session = Session() program = session.query(Program).filter(Program.id == id).one_or_none() if not program: return state_db = Mongo(STATE_COLL) parameters = program.parameters rating = 0 for param in parameters: rating += param['weight'] * int( param['value']) # TODO: type processing program.rating = int(rating) # round score session.add(program) session.commit() state_db.update_one({'key': PROCESS_KEY}, {'$pull': {'planned': id}}) stats_db = Mongo(STATS_COLL) return f'New rating for program <{id}>: {rating}'
def __init__(self, *args, **kwargs): tk.Tk.__init__(self, *args, **kwargs) # Inicialização do menu menubar = MenuBar(self) self.config(menu=menubar) # Inicializando o componente de gráficos e da base de dados self.database = Mongo() self.graphs = Graphs() # Configurando as fontes para centralizar o tamanho ao longo de todo o código self.title_font = tkfont.Font(family='Arial', size=18, weight="bold", slant="italic") self.button_font = tkfont.Font(family='Arial', size=16) self.datepicker_font = tkfont.Font(family='Arial', size=10) self.label_font = tkfont.Font(family='Arial', size=10) self.option_font = tkfont.Font(family='Arial', size=12) # Container principal, configurações do grid container = tk.Frame(self) container.pack(side="top", fill="both", expand=True) container.grid_rowconfigure(0, weight=1) container.grid_columnconfigure(0, weight=1) # Aqui cada tela é iniciada a partir da classe com o respectivo nome self.frames = {} for F in (StartPage, IndividualGraph, GroupTable): page_name = F.__name__ frame = F(parent=container, controller=self) self.frames[page_name] = frame frame.grid(row=0, column=0, sticky="nsew") self.show_frame("StartPage")
def scan_programs() -> List[int]: session = Session() state_db = Mongo(STATE_COLL) not_rated_programs = [ prog_id for (prog_id, ) in session.query(Program.id).filter(Program.rating.is_(None)) ] if not not_rated_programs: return [] processing = state_db.find_one({'key': PROCESS_KEY}) if processing: to_process = list(set(not_rated_programs) - set(processing['planned'])) state_db.update_one({'_id': processing['_id']}, { '$set': { 'key': PROCESS_KEY, 'planned': processing['planned'] + to_process } }) else: to_process = not_rated_programs state_db.insert_one({'key': PROCESS_KEY, 'planned': to_process}) for program_id in to_process: process_program.delay(program_id) return to_process
def get_mongo(): mongo = None try: mongo = Mongo() yield mongo finally: if mongo: mongo.mongo_client.close()
def init() -> None: try: pg = Session() pg.execute('SELECT 1') mongo = Mongo() mongo.mongo_db.list_collections() except Exception as e: logger.error(e) raise e
from database import Mongo db = Mongo("university", "test_mongo") document1 = {"name": "document1"} document2 = {"name": "document2"} document3 = {"name": "document3"} db.create(document1) db.create(document2) db.create(document3) print(db.list())
import telebot from telebot import types import config from database import Mongo mongo_instance = Mongo(uri=config.mongo_uri) mongo_instance.db.drop_collection('users') bot = telebot.TeleBot(config.token) @bot.message_handler(commands=['hello']) def say_hello(message): bot.send_message(message.chat.id, 'Hello, master') @bot.message_handler(commands=['mongo']) def get_mongo(message): bot.send_message(message.chat.id, 'count is {}'.format(mongo_instance.db['users'].count())) @bot.message_handler(commands=['new']) def add_user(message): res = mongo_instance.db['users'].find_one( {'user_id': message.user_from.id}) if res.count() > 0: bot.send_message( message.chat.id, 'You already registered, email: {}'.format(res['email'])) return
import sys from database import Mongo from analysis import Analysis import os if __name__ == '__main__': mongo = Mongo() db = mongo.connect('cw_db2') analysis = Analysis() while 1: os.system('CLS') print("-------Аналіз новин--------") print( "Список функцій: \n1. Дістати новини з ХML.\n2. Дістати новини з CSV.\n3. Аналіз обраного слова за популярністю в кожній категорії\n" "4. Кількість випущених статей з певним тегом.\n5. Аналіз популярності тегів.\n6. Аналіз кількості індексів з усіх статей\n7. ТОП 5 статей за переглядами." "\n8. Відсортований список статей за об'ємом тексту.\n9. Вихід") num = input("\n Обрати функцію: ") if num is '1': os.system('CLS') print("Дістаю новини з news2.xml...") mongo.fromXMLtoDB(db, "news2.xml") print("Done.") elif num is '2': os.system('cls') print("Дістаю новини з train.csv") mongo.fromCSVtoDB(db, "train.csv") elif num is '3': os.system('cls')
def __init__(self, token, channel_name="denemeeedeee"): self.__updater = Updater(token=token) self.__dispatcher = self.__updater.dispatcher self.__mongo = Mongo() self.channel_name = channel_name
def main(): """ The main function to take in all arguments, analyze, and post to mongo """ parser = argparse.ArgumentParser( description='A module to parse and record host pacakges to MongoDB') parser.add_argument('-p', '--packages', action="store", help='host packages file', type=str) parser.add_argument('-s', '--server', action='store', help='server hostname', type=str) parser.add_argument('-m', '--mounts', action='store', help='mount points file', type=str) parser.add_argument('-d', '--debug', action='store_true', default=False, help='Debug output') parser.add_argument('-r', '--runtime', action='store', default=False, help='Run time of ansible execution') parser.add_argument('-t', '--test', action='store_true', default=False, help='Test host capture without pointing to db') parser.add_argument('--prod', action='store_true', default=False, help='Write to prod db') parser.add_argument('--sleep', action='store_true', default=False, help='Sleep a random time') results = parser.parse_args() if results.debug: logging.basicConfig(stream=stdout, format=' %(levelname)s: %(asctime)s %(message)s', level=logging.NOTSET) else: logging.basicConfig(stream=stdout, format='%(levelname)s: %(asctime)s %(message)s', level=logging.INFO) if results.sleep: logging.debug("Taking a light nap as requested") time.sleep(randint(0, 60)) logging.debug("Starting Execution") start = time.time() try: with open(results.packages, 'r') as file_resource: packages = file_resource.read() try: host = Host(results.server) except BaseException: raise ValueError( "X-RAY: Packages were provided without hostname. Please use the -s flag and provide a hostname" ) except ValueError as error: raise error except BaseException: # Assume if they are running locally they dont provide packages host = Host(socket.getfqdn()) packages = get_local_packages() try: with open(results.mounts, 'r') as file_resource: mounts = file_resource.read() except BaseException: # Assume if they are running locally they dont provide mounts mounts = get_local_mounts() if results.runtime: host.last_update_duration = float(results.runtime) host.software = analyze_packages(packages) if mounts is not None: host.mounts = analyze_mounts(mounts) if not results.test: if results.prod: import mongo_info_prod connection = mongo_info_prod.CONNECTION_STRING else: import mongo_info_nonprod connection = mongo_info_nonprod.CONNECTION_STRING try: mongo = Mongo(connection) mongo.post(host.__dict__, start) exit(0) except Exception as error: logging.error(f"X-RAY:Error with db: {error}") exit(1) else: logging.debug(host.__dict__)
def __init__(self): db_name = 'bayan' self.collection_name = 'JDGoodsUrl' self.save_collection_name = 'JDGoodsData' self.db = Mongo(db_name) self.conn = connRedis.OPRedis()
def __init__(self): self.count = 0 db_name = 'bayan' self.collection_name = 'JDGoodsUrl' self.db = Mongo(db_name)
def __init__(self): db_name = 'bayan' self.collection_name = 'key' self.db = Mongo(db_name)
def __init__(self): db_name = 'bayan' self.save_collection_name = 'TMGoodsUrl' self.collection_name = 'TMkey' self.db = Mongo(db_name)