Example #1
0
def classificacao():
    q = Queries()
    resultado = None
    while not resultado:
        id_aleatorio = random.randrange(1324911, 5324911)
        query_txt = 'SELECT id, tribunal, texto_decisao from jurisprudencia_2_inst.jurisprudencia_2_inst where lower(texto_decisao) like "%saúde%" and classificacao is null and id = "{}";'.format(
            str(id_aleatorio))
        # id_aleatorio = random.randrange(19803,321358) # ID ALEATÓRIO STF
        # QUERY STF
        # query_txt = 'SELECT id, texto_decisao from stf.decisoes where lower(texto_decisao) like "%saúde%" and classificacao is null and id = "{}";'.format(str(id_aleatorio))
        # id_aleatorio = random.randrange(448,299891) # ID ALEATÓRIO STj
        # QUERY STJ
        # query_txt = 'SELECT id, voto from stj.votos where lower(voto) like "%saúde%" and classificacao is null and id = "{}";'.format(str(id_aleatorio))
        dados = q.query_padrao(query_text=query_txt)
        if dados:
            resultado = 1
            session['id_p'] = dados[0][0]
            id_p = dados[0][0]
            # 2ª INSTÂNCIA
            tribunal = dados[0][1]
            texto_decisao = dados[0][2].replace('\n', '</p>\n<p>')
            # STF
            # tribunal = 'STF'
            # texto_decisao = dados[0][1].replace('\n', '</p>\n<p>')
            # STj
            # tribunal = 'STj'
            # texto_decisao = dados[0][1].replace('\n', '</p>\n<p>')
    return render_template('classificacao.html',
                           texto_decisao=texto_decisao,
                           id_p=id_p,
                           tribunal=tribunal)
Example #2
0
def getQueryDoesntSpendMost(l30, target_code, target, str_un, un_code,
                            str_filters, str_dna, loyalty_program, regions,
                            str_join, filters):
    """
        Lealdade 7 Gasta mais com produtos concorrentes do que com meu produto
    """
    query, table = Queries().LealdadeSpendMostMyProduct()
    queries = []
    str_join_item = ""

    if target == 'SUB-CATEGORIA':
        loyalty = 'is_loyal_l30'
    elif target == 'CATEGORIA':
        loyalty = 'is_loyal_l40'
    else:
        loyalty = 'is_loyal_b'

    for l30_item in l30:

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         loyal='false',
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=loyalty))

    final_query = "select count(*) from ({queries}) AS T;".format(
        queries=" union ".join(queries))
    return final_query
Example #3
0
def getQueryAudienceUN(l30, target, str_filters, str_dna, loyalty_program,
                       regions, str_join):
    """
        get audience  query for loyalty 5 with UN
    """
    query, table = Queries().LealdadeDoesntBuyProductAudience()
    queries = []
    str_join_item = ""

    if target == 'SUB-CATEGORIA':
        loyalty = 'is_loyal_l30'
    elif target == 'CATEGORIA':
        loyalty = 'is_loyal_l40'
    else:
        loyalty = 'is_loyal_b'

    if loyalty_program == "AND loyalty_program_code in ('3')":
        loyalty_program == ""

    for l30_item in l30:

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=loyalty))

    final_queries = " {queries} ".format(queries=" union ".join(queries))
    return final_queries
Example #4
0
class BaseHandler(RequestHandler):

    def get_user_locale(self):
        return tornado.locale.get('is_IS')

    def get_current_user(self):
        if self.cookies and 'user' in self.cookies:
            id = self.get_secure_cookie('user')
            try:
                return self.q.db.query(User).filter_by(id=id, active=True).one()
            except:
                self.clear_cookie('user')
        return None

    def get_template_namespace(self):
        namespace = RequestHandler.get_template_namespace(self)
        namespace.update(dict(q = self.q))

        return namespace

    def prepare(self):
        self.q = Queries(self)

    def on_finish(self):
        self.q.close()
Example #5
0
def get_index_info(conn, modalidade):
    """
        Get basic information about product or L20
    """
    query = Queries().IndexInfoProd().replace('\n', '').strip()
    prod_code = None

    try:
        # try to find data for l20 if product wasnt found
        result, conn = execute_query_temp(query, conn)
        result = result[0]
        if result[0] is None:
            query = Queries().IndexInfoL20().replace('\n', '').strip()
            result, conn = execute_query_temp(query, conn)
            result = result[0]
            if result[0] is None:
                raise Exception()

    except Exception as e:
        print("\n**** Too Bad! It seems  your l20 wasnt found either! ****")
        raise L20notfound(
            "Nao encontrado dados para os seguintes parametros: {}".format(
                str(modalidade)))

    # return information about l20 or product
    return {
        'units_per_visit': result[0],
        'min_perc_disc': result[1],
        'weight_flag': result[2],
        'is_alcohol': result[3]
    }
Example #6
0
def getQueryLaunchProduct(l30, target_code, target, str_un, un_code,
                          str_filters, str_dna, loyalty_program, regions,
                          str_join, filters):
    """
        Lealdade 10 Compra lancamentos e minha categoria
    """
    query, table = Queries().LealdadeLaunchProduct()
    queries = []
    str_join_item = ""

    query, table = Queries().LealdadeLaunchProduct()

    if len(str_dna) > 0:
        str_join_item = str_join.format(table=table, filter_personas=str_dna)

    queries.append(
        query.format(lcode=target_code,
                     filters=str_filters,
                     program=loyalty_program,
                     regions=regions,
                     joins=str_join_item))

    final_query = "select count(*) from ({queries}) AS T;".format(
        queries=" union ".join(queries))
    return final_query
Example #7
0
def getQuerySpendMostloyaty10(l30, target_code, target, str_un, un_code,
                              str_filters, str_dna, loyalty_program, regions,
                              str_join, filters):
    """
        Lealdade 6 gasta mais com meu produto usado na lealdade 10
    """
    query, table = Queries().LealdadeSpendMostMyProductLoyalty10()
    queries = []
    str_join_item = ""

    if loyalty_program == "AND loyalty_program_code in ('3')":
        loyalty_program = ""

    for l30_item in l30:

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=''))

    final_queries = "select count(distinct prsn_id) from ({queries})".format(
        queries=" union ".join(queries))
    return final_queries
Example #8
0
def getQueryAudienceUN(l30, target, str_filters, str_dna, loyalty_program,
                       regions, str_join):
    """
        get audience  query for loyalty 5 with UN
    """
    query, table = Queries().LealdadeDoesntBuyProductAudience()
    queries = []
    str_join_item = ""

    if target == 'SUB-CATEGORIA':
        loyalty = 'is_loyal_l30'
    elif target == 'CATEGORIA':
        loyalty = 'is_loyal_l40'
    else:
        loyalty = 'is_loyal_b'

    for l30_item in l30:
        # check if l30 table exists
        if checkl30(l30_item):
            raise Exception('Nao existe cubo para:{}'.format(l30_item))

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=loyalty))

    final_queries = " {queries} ".format(queries=" union ".join(queries))
    return final_queries
Example #9
0
def getQueryLaunchProduct(l30, target_code, target, str_un, un_code,
                          str_filters, str_dna, loyalty_program, regions,
                          str_join, filters):
    """
        Lealdade 10 Compra lancamentos e minha categoria
    """
    query, table = Queries().LealdadeLaunchProduct()
    queries = []
    str_join_item = ""

    if len(str_dna) > 0:
        str_join_item = str_join.format(table=table, filter_personas=str_dna)

    queries.append(
        query.format(lcode=target_code,
                     filters=str_filters,
                     program=loyalty_program,
                     regions=regions,
                     joins=str_join_item))

    subtract_query = getQuerySpendMostloyaty10(l30, target_code, target,
                                               str_un, un_code, str_filters,
                                               str_dna, loyalty_program,
                                               regions, str_join, filters)

    final_query = "SELECT (select sum(qty) from ({queries}) as t ) - ({subquery} as d) as c".format(
        queries=" union ".join(queries), subquery=subtract_query)
    return final_query
Example #10
0
class Validator(object):
    def __init__(self, clientName, fileName, fileType):
        self.clientName = clientName
        self.fileName = fileName
        self.fileType = fileType
        self.queries = Queries()
        self.rawTableName = self.queries.getRawTableName(self.clientName, self.fileName)
        if self.validateHeader() is not True:
            exit(1)
        self.readfile = ReadFile(self.fileName, self.clientName)
        if self.validateContent() is True:
            exit(0)
        else:
            exit(1)

    def validateHeader(self):
        databaseHeader = self.queries.getDatabaseColumns('raw_file_columns', self.clientName, self.rawTableName)
        fileHeader = self.readfile.getFileHeader()
        for i in range(len(databaseHeader)):
            if databaseHeader[i] != fileHeader[i]:
                return False
        return True

    def validateContent(self):
        dataType = self.queries.getDatabaseColumns('data_type', self.clientName, self.rawTableName)
        fileContent = self.readfile.getFileContent()
        for line in fileContent:
            for i in range(len(line)):
                if line[i] != dataType[i]:
                    return False
        return True
Example #11
0
def pesquisa():
   if request.method == 'POST':
      try:
         q = Queries()
         return str(q.query_tribunais(request.form['query'],tribunal='segunda_inst'))
      except Exception as e:
         return e
   else:
      return 'Preencha o formulário corretamente, por favor.'
Example #12
0
def createQueries(config):
    q = Queries(int(config['query']['runs']), config['others']['output-dir'],
                config['query']['output-dir'],
                config['observation']['start_timestamp'],
                int(config['observation']['days']),
                int(config['query']['num-locations']),
                int(config['query']['num-sensors']),
                int(config['query']['time-delta']))
    q.generateQueries()
Example #13
0
 def __init__(self):
     AuctionScanner.__init__(self)
     self.q = Queries()
     self.base_url = 'https://www.tutti.ch/api/v10/list.json?aggregated=1&limit=50&o=1&q=lego&with_all_regions=true'
     self.headers = {
         'User-Agent':
         'Mozilla/5.0 (X11; Linux x86_64; rv:80.0) Gecko/20100101 Firefox/80.0',
         'Accept': 'application/json, text/plain, */*',
         'X-Tutti-Hash': '858521e7-f8d9-40ef-a534-6ae88d93165c'
     }
Example #14
0
def main():
    # Input: SQLite3
    conn = sqlite3.connect(
        '../ExampleData/example_data_before_migration.sqlite3')
    conn.row_factory = sqlite3.Row

    # Output: MongoDB
    client = MongoClient('localhost', 27017)
    db = client.db_before_migration

    if db.user.count_documents({}) == 0:
        print('Loading data\n')
        data_loader.populate_database(conn, db)
    else:
        print('Warning: Database already exists; not reloading data\n')

    # Read parameters and reference results
    tc_file = open('../ExampleData/query_results_before_migration.json')
    test_cases = TestCases(tc_file)
    queries = Queries(db, test_cases)
    results, metrics = queries.execute()
    failed = False

    # Write complexity metrics to file
    metrics.to_csv('metrics.csv')

    if len(test_cases) != len(results):
        raise RuntimeError('There are {} queries but {} tests'.format(
            len(results), len(test_cases)))

    for result in results:
        if len(result.violation_indexes) == 0:
            # Success
            print(
                '{0.name} Succeeded in {0.elapsed_time:.4f} s\n----------------'
                .format(result))
        else:
            # Error
            actual = pretty_print_json(result.actual)
            expected = pretty_print_json(result.expected)

            print('''{result.name} FAILED
Mismatch indexes: {result.violation_indexes}

Actual results: {actual}

Expected results: {expected}
----------------'''.format(result=result, actual=actual, expected=expected))
            failed = True

    if failed:
        raise RuntimeError('Some tests failed')
Example #15
0
def getl20_30Plu(modalidade, vendor):
    """
        Create a temporary table with the products of this target by a PLU list
        return L20 and l30 of the product
    """

    query = Queries().ProductStructure()
    str_prod_codes = list2str(modalidade._value.get("produto"))

    query = query.format(
        wheres=" prod_code in ({prods})".format(prods=str_prod_codes),
        vendor=vendor)

    return query
Example #16
0
def classificacao():
    q = Queries()
    resultado = None
    while not resultado:
      id_aleatorio = random.randrange(1324911,5324911)
      query_txt = 'SELECT id, tribunal, texto_decisao from jurisprudencia_2_inst.jurisprudencia_2_inst where lower(texto_decisao) like "%saúde%" and classificacao is null and id = "{}";'.format(str(id_aleatorio))
      dados = q.query_padrao(query_text=query_txt)
      if dados:
        resultado = 1
        session['id_p'] = dados[0][0]
        id_p = dados[0][0]
        tribunal = dados[0][1]
        texto_decisao = dados[0][2].replace('\n', '</p>\n<p>')
    return render_template('classificacao.html', texto_decisao = texto_decisao, id_p = id_p, tribunal = tribunal)
Example #17
0
    def post(self):
        # Region Set Up

        #create resultService object
        _resultsService = ResultsService()
        #load queries
        q = Queries()
        # create connection to postgres database
        _connector = Connector()
        conn = _connector.connect(1)

        # create cursor
        cur = conn.cursor()

        #define query parameters
        _failID = self.get_argument("_failureId")

        # endregion
        # Region main block

        cur.execute(q._email_failure, (_failID, ))
        _result = cur.fetchall()
        _result_to_json = _resultsService.parse(_result)

        self.render("emailMonitor.html", results=_result)

        cur.close()
        conn.close
Example #18
0
def checkl30(l30):

    query = Queries().TableExists().format('t_audience_l21_{}'.format(l30))

    result = pd.DataFrame(execute_query(query), columns=['Table'])

    return result['Table'][0] == None
Example #19
0
def getQueryDoesntBuyL20(l21, l20, target, str_un, un_code, str_filters,
                         str_dna, loyalty_program, regions, str_join, filters):

    query, table = Queries().LealdadeDoesntBuyl20()

    if len(str_dna) > 0:
        str_join = str_join.format(table=table, filter_personas=str_dna)

    query = query.format(condition=str_un,
                         filters=str_filters,
                         un_code=un_code,
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join)

    return query
Example #20
0
def get_redemption(banner, level_code, audience_type, vendor, conn):

    query = Queries().conversion_rates().format(level=level_code)
    if banner:
        query += " AND  banner ='{}' ".format(banner)

    if audience_type:
        query += " AND  aba = '{}'".format(audience_type)

    if vendor != "":
        query += " AND  cr.supplier_code = '{}'".format(vendor)

    result, conn = execute_query_temp(query, conn)
    result = pd.DataFrame(result)

    if result['conversion_rate'][0] == 0:
        message = "Redemption rate not found for level {l}, aba {a}, banner {b}".format(
            l=level_code, a=audience_type, b=banner)
        print(message)
        try:
            now = datetime.now()
            f = open("L20ConversionNotfound.log", "a")
            f.write("\n{0} - Erro: {1} ".format(
                now.strftime("%d/%m/%Y %H:%M:%S"), message))
            f.flush()
            f.close()
        finally:
            r = False
    else:
        r = result['conversion_rate'][0]
        r = format(r, '.4f')
    return r
Example #21
0
    def post(self):
        # Region Set Up

        #create resultService object
        _resultsService = ResultsService()
        #load queries
        q = Queries()
        # create connection to postgres database
        _connector = Connector()
        conn = _connector.connect(2)

        # create cursor
        cur = conn.cursor()

        #define query parameters
        _firstname = self.get_argument("_firstname_field")
        _lastname = self.get_argument("_lastname_field")
        _timenow = datetime.datetime.now()
        # endregion
        # Region main block

        _query = q._get_all_users
        cur.execute(_query)
        _result = cur.fetchall()
        _result_to_json = _resultsService.parse(_result)

        _query = q._create_new_user
        cur.execute(_query, (_firstname, _lastname, _timenow))
        conn.commit()

        cur.close()
        conn.close
        self.redirect("/users")
Example #22
0
    def post(self):
        # Region Set Up
        _resultsService = ResultsService()
        _q = Queries()
        _connector = Connector()
        conn = _connector.connect(2)
        cur = conn.cursor()

        # endregion
        # Region Main Block
        cur.execute(_q._get_all_users)
        _result = cur.fetchall()
        _result_to_json = _resultsService.parse(_result)

        for item in _result:
            _rID = str(item[3])
            _id = self.get_arguments("_checkbox")
            if _rID in _id:
                print("Deleting " + str(item[0]))
                cur.execute(_q._delete_user, (item[3], ))
                conn.commit()

        cur.close()
        conn.close()
        self.redirect("/users")
Example #23
0
def getQueryLoyaltyUnder50(l21, l20, target, str_un, un_code, str_filters,
                           str_dna, loyalty_program, regions, str_join,
                           filters):
    query, table = Queries().Lealdade50()

    if len(str_dna) > 0:
        str_join = str_join.format(table=table.format(l21=l21),
                                   filter_personas=str_dna)

    query = query.format(l21=l21,
                         filters=str_filters,
                         loyal='false',
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join)

    return query
Example #24
0
 def __init__(self, set_number, condition='new'):
     self._url = 'http://www.bricklink.com/catalogPG.asp?S={}-1&ColorID=0'.format(
         set_number)
     self._headers = {
         'User-Agent':
         'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
     }
     self.condition = condition
     self.prices = {}
     self.set_number = set_number
     self.scan_date = datetime.now()
     self.exchange_rates = {}
     self.toCurrency = 'CHF'
     self.result = {}
     self.db = MySQLDatabase()
     self.q = Queries()
     self._parse_prices()
Example #25
0
def getl20_30category(modalidade, vendor):
    """
        Create a temporary table with the products of this target by a category
        return L20 and l30 of the product
    """

    query = Queries().ProductStructure()
    depart = modalidade._value.get('departamento')
    categoria = modalidade._value.get('categoria')

    code = (depart, categoria)
    str_codes = "".join(code)
    query = query.format(
        wheres="prod_hier_l40_code in ('{grupo}')".format(grupo=str_codes),
        vendor=vendor)

    return query
Example #26
0
def getl20_30Familia(modalidade, vendor):
    """
        Create a temporary table with the products of this target by a PLU and Familia
        return L20 and l30 of the product
    """

    query = Queries().ProductStructureFamily()

    family_code = modalidade._value.get("familia")
    #subgrupo = modalidade._value.get("subgrupo")

    #modalidade.subgrupo

    query = query.format(subgrupo=modalidade.subgrupo,
                         family=family_code,
                         vendor=vendor)

    return query
Example #27
0
    def getinfoPLU(self):

        modalidade = self._value

        strquery = Queries.getProductInfo()
        strquery = strquery.format(produto)
        subcategoria = ""
        grupo = ""
        subgrupo = ""
        subgrupo = ""
Example #28
0
 def get_average_price(self, conn):
     """
         return average price for the products, need the connection that holds product temporary table
     """
     query = Queries().AveragePrice()
     result, conn = execute_query_temp(query, conn)
     result = pd.DataFrame(
         result, columns=['avg_prod_price_clex', 'avg_prod_price_pa'])
     return result['avg_prod_price_clex'][0], result['avg_prod_price_pa'][
         0],
Example #29
0
def getQueryRecover(l30, target_code, target, str_un, un_code, str_filters,
                    str_dna, loyalty_program, regions, str_join, filters):
    """
        Lealdade 20 Compra lancamentos e minha categoria
    """
    query, table = Queries().LealdadeRecoverProduct()
    #query = query.format(l21=l21,
    #                        filters=str_filters, loyal='true',
    #                        program=loyalty_program, regions=regions,
    #                        joins=str_join)

    queries = []
    str_join_item = ""

    if target == 'SUB-CATEGORIA':
        loyalty = 'is_loyal_l30'
    elif target == 'CATEGORIA':
        loyalty = 'is_loyal_l40'
    else:
        loyalty = 'is_loyal_b'

    for l30_item in l30:
        # check if l30 table exists
        if checkl30(l30_item):
            raise Exception('Nao existe cubo para:{}'.format(l30_item))

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         loyal='true',
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=loyalty))

    final_query = "select count(*) from ({queries}) AS T;".format(
        queries=" union ".join(queries))
    return final_query
Example #30
0
def getQueryRecover(l30, target_code, target, str_un, un_code, str_filters,
                    str_dna, loyalty_program, regions, str_join, filters):
    """
        Lealdade 20 Compra lancamentos e minha categoria
    """
    query, table = Queries().LealdadeRecoverProduct()
    #query = query.format(l21=l21,
    #                        filters=str_filters, loyal='true',
    #                        program=loyalty_program, regions=regions,
    #                        joins=str_join)

    queries = []
    str_join_item = ""

    if target == 'SUB-CATEGORIA':
        loyalty = 'is_loyal_l30'
    elif target == 'CATEGORIA':
        loyalty = 'is_loyal_l40'
    else:
        loyalty = 'is_loyal_b'

    if loyalty_program == "AND loyalty_program_code in ('3')":
        loyalty_program == ""

    for l30_item in l30:

        if len(str_dna) > 0:
            str_join_item = str_join.format(table=table.format(l30=l30_item),
                                            filter_personas=str_dna)

        queries.append(
            query.format(l30=l30_item,
                         filters=str_filters,
                         loyal='true',
                         program=loyalty_program,
                         regions=regions,
                         joins=str_join_item,
                         loyalty=loyalty))

    final_query = "select count(distinct t.prsn_id) from ({queries}) AS T;".format(
        queries=" union ".join(queries))
    return final_query
Example #31
0
 def __init__(self, config):
     self.query_f = Queries.get_by_name(config['query'])
     self.score_f = Scores.get_by_name(config['score'])
     self.create_model = Models.get_by_name(config['model'])
     if 'encoder' in config:
         self.create_encoder = Encoders.get_by_name(config['encoder'])
     self.init_size = config['init_size']
     self.batch_size = config['batch_size']
     self.total_size = config['total_size']
     self.queries_number = config['queries_number']
     self.random_state = config['random_state']
Example #32
0
class TestSimpleQueries(unittest.TestCase):
    def setUp(self):
        self.connection = mysql.connector.connect(user='******', password='******', database='test_data')
        self.cursor = self.connection.cursor()
        self.queries = Queries(self.cursor)

    def tearDown(self):
        self.cursor.close()
        self.connection.close()

    @weight(1)
    def test_department_budget(self):
        """Get department budget by name"""
        val = self.queries.department_budget("Engineering")
        self.assertEqual(val, 1000000)

    @weight(1)
    def test_department_expenses(self):
        """Get department expenses by name"""
        val = self.queries.department_expenses("Engineering")
        self.assertEqual(val, 200000)
Example #33
0
 def __init__(self, clientName, fileName, fileType):
     self.clientName = clientName
     self.fileName = fileName
     self.fileType = fileType
     self.queries = Queries()
     self.rawTableName = self.queries.getRawTableName(self.clientName, self.fileName)
     if self.validateHeader() is not True:
         exit(1)
     self.readfile = ReadFile(self.fileName, self.clientName)
     if self.validateContent() is True:
         exit(0)
     else:
         exit(1)
Example #34
0
def add_test_data(app, db):

    cpp = ProgrammingLanguage(name='C++', compile_cmd="g++ %(file)s -o %(exe)s -O3", run_cmd="./%(exe)s")
    db.add(cpp)
    db.flush()

    fk2012 = Contest(name=u'Forritunarkeppni Framhaldsskólanna 2012',
                     public=True,
                     start_time=datetime.datetime(2012, 3, 16, 9, 0, 0),
                     registration_start=datetime.datetime(2012, 1, 1, 0, 0, 0))

    db.add(fk2012)
    db.flush()

    p1 = Problem(name=u'Lóðarí',
                 public=True,
                 description=u"""
		<p>Sveitarfélag nokkurt á austurlandi hefur nýlega hafið að selja ferningslaga lóðir. Lóðirnar liggja allar í beinni línu frá norðri til suðurs, en vegna skipulagsmistaka, þá er engin lóð jafn stór og önnur, því fyrir sérhverja lóð, þá er lóðin fyrir sunnan hana einum metra lengri á hvorn kant. Þetta hefur valdið bæjaryfirvöldum miklum höfuðverk og þið hafið verið kölluð til aðstoðar.</p>

		<p>Þið fáið það hlutverk að skrifa forrit sem að reiknar muninn á flatarmáli samliggjandi lóða. Það er, að gefinni hliðarlengd lóðar (sem er ekki syðsta lóðin), þá eigið þið að reikna út hversu mörgum fermetrum stærri lóðin er fyrir sunnan gefnu lóðina.</p>

		<h2>Inntak</h2>
		<p>Inntakið byrjar á einni heiltölu <tt>C</tt>, sem gefur fjölda prófunartilvika sem á eftir koma. Hvert prófunartilvik samanstendur af einni línu sem inniheldur eina heiltölu <tt>1 &leq; x &leq; 100000</tt>, sem gefur hliðarlengd lóðar.</p>

		<h2>Úttak</h2>
		<p>Fyrir sérhvert prófunartilvik á að skrifa út eina línu sem inniheldur eina heiltölu, sem gefur hversu mörgum fermetrum lóðin fyrir sunnan gefnu lóðina er stærri en gefna lóðin.</p>

		<h2>Dæmi um inntak</h2>
<pre><tt>2
3
8</tt></pre>
	
		<h2>Dæmi um úttak</h2>
<pre><tt>7
17</tt></pre>
                 """,
                 solution=u"""
#include<iostream>

using namespace std;

#ifndef ONLINE_JUDGE
#define DEBUG 0
#endif
//-------------------
#ifdef ONLINE_JUDGE
#define DEBUG 0
#endif
#if DEBUG > 1
#define dout cout
#else
#define dout 0 && cout
#endif
#if DEBUG > 0
#include<cstdio>
#define read(file) freopen(file,"r",stdin)
#define write(file) freopen(file,"w",stdout)
#else
#define read(file)
#define write(file)
#endif

int main()
{
    read("in.txt");

    int test_cases;
    int curr;
    cin >> test_cases;

    while(test_cases--)
    {
        cin >> curr;
        cout << 2 * curr + 1 << '\n';
    }
    return 0;
}
                 """,
                 solution_lang_id=cpp.id,
                 time_limit=3*1000,
                 memory_limit=64*1024*1024)

    db.add(p1)
    db.flush()

    p1c = ContestProblem(short_id='A', problem_id=p1.id, contest_id=fk2012.id)
    db.add(p1c)
    db.flush()

    p1t1 = Test(problem_id=p1.id,
            input=u"""5
1
2
3
7
15
""", output=u"""3
5
7
15
31
""")
    db.add(p1t1)
    db.flush()

    p2 = Problem(name="Biskupinn", public=True, description=u"""
		<p>Í þessu verkefni ímyndum við okkur að við séum með <tt>N&times;N</tt> skákborð og
jafnframt ímyndum við okkur að það sé aðeins einn leikmaður á borðinu, þ.e.
biskupinn. Staðsetningar, eða reitir, á skákborðinu eru táknaðar með raðpari <tt>(r,c)</tt>, þ.a. <tt>1 &leq; r,c &leq; N</tt>, þar sem <tt>r</tt> segir til um í hvaða röð reiturinn er og <tt>c</tt> segir til um í hvaða dálki reiturinn er. Staðsetningin <tt>(1,1)</tt> vísar þá til reitsins
sem er neðst í vinstra horninu og <tt>(N,N)</tt> vísar til reitsins efst í hægra horninu.</p>

		<p>Verkefni ykkar er nú að finna fæstu mögulegu hreyfingar sem þarf til að koma biskupnum á ákveðinn
reit á skákborðinu, ef það er yfir höfuð hægt. Hreyfingar biskupsins eru eins og í hefðbundinni skák,
þ.e. hann getur ferðast á ská eins marga reiti og vera vill.</p>

		<h2>Inntak</h2>
		<p>Inntakið byrjar á einni heiltölu <tt>C</tt>, sem gefur fjölda prófunartilvika sem á eftir koma. Á eftir þessari línu
kemur auð lína, og að auki kemur auð lína milli prófunartilvika.</p>

		<p>Fyrsta lína hvers prófunartilviks inniheldur eina heiltölu <tt>1 &leq; T &leq; 100</tt>, sem gefur fjölda prófana í því
prófunartilviki. Önnur línan inniheldur eina heiltölu <tt>1 &leq; N &leq; 100.000.000</tt> (stærð skákborðsins er <tt>N&times;N</tt>). Á eftir þeirri línu koma svo <tt>T</tt> línur, hver með einni prófun. Hver lína inniheldur fjórar
heiltölur, aðskildar með einu orðabili. Fyrstu tvær tölurnar gefa röð og dálk biskupsins og seinni tvær
gefa röð og dálk reitsins sem að biskupinn vill komast á.</p>

		<h2>Úttak</h2>
		<p>Fyrir sérhverja prófun, á að skrifa út eina línu. Línan á að innihalda eina heiltölu, sem gefur minnsta
fjölda hreifinga sem þarf til að færa biskupinn á gefna reitinn, eða <tt>&ldquo;impossible&rdquo;</tt> ef ómögulegt er
fyrir biskupinn að komast á reitinn.</p>

		<h2>Dæmi um inntak</h2>
<pre><tt>2

3
8
3 6 6 3
4 2 2 3
7 2 1 4

2
6
1 2 6 5
2 3 5 1</tt></pre>
	
		<h2>Dæmi um úttak</h2>
<pre><tt>1 
impossible 
2 
2 
impossible</tt></pre>
            """, solution=u"""
#include<iostream>

using namespace std;

#ifndef ONLINE_JUDGE
#define DEBUG 0
#endif
//-------------------
#ifdef ONLINE_JUDGE
#define DEBUG 0
#endif
#if DEBUG > 1
#define dout cout
#else
#define dout 0 && cout
#endif
#if DEBUG > 0
#include<cstdio>
#define read(file) freopen(file,"r",stdin)
#define write(file) freopen(file,"w",stdout)
#else
#define read(file)
#define write(file)
#endif

int total_test_cases, test_cases, board_size;
int bishop_r, bishop_c;
int target_r, target_c;

int abs(int a)
{
    return a < 0 ? -a : a;
}

int main()
{
    read("in.txt");

    cin >> total_test_cases;

    while(total_test_cases--)
    {
        cin >> test_cases;
        cin >> board_size;
        while(test_cases--)
        {
            cin >> bishop_r >> bishop_c >> target_r >> target_c;
            if( (bishop_r + bishop_c) % 2 != (target_r + target_c) % 2 )
            {
                cout << "impossible\n";
            }
            else if(bishop_r == target_r && bishop_c == target_c)
            {
                cout << 0 << '\n';
            }
            else if( abs(bishop_r - target_r) == abs(bishop_c - target_c) )
            {
                cout << 1 << '\n';
            }
            else
            {
                cout << 2 << '\n';
            }
        }
    }
    return 0;
}
            """, solution_lang_id=cpp.id, time_limit=3*1000, memory_limit=64*1024*1024)

    db.add(p2)
    db.flush()

    p2c = ContestProblem(short_id='B', problem_id=p2.id, contest_id=fk2012.id)
    db.add(p2c)
    db.flush()

    p2t1 = Test(problem_id=p2.id, input=u"""3

4
8
3 6 6 3
4 2 2 3
7 2 1 4
3 3 3 3

9
12
1 1 10 10
1 1 10 9
1 2 7 4
6 3 4 1
6 3 2 7
6 3 7 2
6 3 11 8
6 5 4 5
6 5 6 6

2
10000000
150 723 9010024 7234123
1 1 10000000 10000000
""", output=u"""1
impossible
2
0
1
impossible
2
1
1
1
1
2
impossible
2
1
""")
    db.add(p2t1)
    db.flush()

    test_user = User(username="******", password_hash=Queries._User_hash_password("test", "test", app.settings["cookie_secret"]), email='*****@*****.**', active=True)
    db.add(test_user)
    db.flush()
    test_user_team = Team(name="test", locked=True)
    db.add(test_user_team)
    db.flush()
    db.add(TeamMember(user_id=test_user.id, team_id=test_user_team.id, leader=True))
    db.flush()

    db.add(Registration(team_id=test_user_team.id, contest_id=fk2012.id))

    cs_p1_1 = Submission(team_id=test_user_team.id, problem_id=p1.id, contest_id=fk2012.id, verdict='WA', solution='', solution_lang_id=cpp.id)
    cs_p1_2 = Submission(team_id=test_user_team.id, problem_id=p1.id, contest_id=fk2012.id, verdict='AC', solution='', solution_lang_id=cpp.id)
    cs_p2_1 = Submission(team_id=test_user_team.id, problem_id=p2.id, contest_id=fk2012.id, verdict='WA', solution='', solution_lang_id=cpp.id)

    db.add(cs_p1_1)
    db.add(cs_p1_2)
    db.add(cs_p2_1)

    for i in range(-100, 8):
        db.add(Contest(name='Test %d' % i,
            public=True,
            start_time=datetime.datetime.now() + datetime.timedelta(0, i * 60 * 60, 0),
            registration_start=datetime.datetime.now() + datetime.timedelta(0, i * 60 * 60, 0) - datetime.timedelta(0, 2 * 60 * 60, 0),
            registration_end=datetime.datetime.now() + datetime.timedelta(0, i * 60 * 60, 0) - datetime.timedelta(0, 1 * 60 * 60, 0),
            duration=3 * 60))

    db.add(Message(user_to_id=test_user.id, user_from_id=test_user.id, subject=u"Halló Heimur", content=u"Halló! Þetta er prufa..."))
    db.add(Message(user_to_id=test_user.id, user_from_id=test_user.id, subject=u"Meeoooww", content=u"Halló! Þetta er meiri prufa..."))
    db.add(Message(user_to_id=test_user.id, user_from_id=test_user.id, subject=u"Mooo", content=u"Þetta er meiri prufa...", read=True))

    db.add(User(username='******', api_key='65d13f6a296145338e12a26cda0a0eea', active=True))

    db.commit()
Example #35
0
 def prepare(self):
     self.q = Queries(self)