コード例 #1
0
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}'
コード例 #2
0
    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")
コード例 #3
0
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
コード例 #4
0
def get_mongo():
    mongo = None
    try:
        mongo = Mongo()
        yield mongo
    finally:
        if mongo:
            mongo.mongo_client.close()
コード例 #5
0
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
コード例 #6
0
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())
コード例 #7
0
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
コード例 #8
0
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')
コード例 #9
0
 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
コード例 #10
0
ファイル: __init__.py プロジェクト: danquack/xray
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__)
コード例 #11
0
 def __init__(self):
     db_name = 'bayan'
     self.collection_name = 'JDGoodsUrl'
     self.save_collection_name = 'JDGoodsData'
     self.db = Mongo(db_name)
     self.conn = connRedis.OPRedis()
コード例 #12
0
 def __init__(self):
     self.count = 0
     db_name = 'bayan'
     self.collection_name = 'JDGoodsUrl'
     self.db = Mongo(db_name)
コード例 #13
0
 def __init__(self):
     db_name = 'bayan'
     self.collection_name = 'key'
     self.db = Mongo(db_name)
コード例 #14
0
 def __init__(self):
     db_name = 'bayan'
     self.save_collection_name = 'TMGoodsUrl'
     self.collection_name = 'TMkey'
     self.db = Mongo(db_name)