Exemple #1
0
    def Initialize(self, configFileName):
        from Logging import mainlog, horse_dir, init_logging
        init_logging('web_server.log')
        mainlog.info("Horse dir : {}".format(horse_dir))

        try:
            from Configurator import load_configuration, configuration, resource_dir
            mainlog.info("Resource dir : {}".format(resource_dir))
            load_configuration("server.cfg", "server_config_check.cfg")
            mainlog.info("configuration loaded")

            from koi.http_handler import HorseHTTPHandler
            p = int(configuration.get("DownloadSite", "port"))
            mainlog.info("Listening on port {}".format(p))
            self.server = HTTPServer(('', p), HorseHTTPHandler)
        except Exception as ex:
            mainlog.exception(ex)
            raise ex
Exemple #2
0
from datetime import date
from sqlalchemy.sql import select,func,and_,or_

from Logging import mainlog,init_logging
from Configurator import init_i18n,load_configuration,configuration,resource_dir
init_logging()
init_i18n()
load_configuration()

from db_mapping import metadata
from datalayer.database_session import init_db_session

from datalayer.database_session import session
from db_mapping import FilterQuery


init_db_session(configuration.database_url, metadata, False or configuration.echo_query)

from dao import dao

def alter_structure():

    session().connection().execute("""CREATE TABLE horse.filter_queries (
        filter_query_id SERIAL NOT NULL,
        name VARCHAR NOT NULL,
        query VARCHAR NOT NULL,
        shared BOOLEAN NOT NULL,
        owner_id INTEGER NOT NULL,
        PRIMARY KEY (filter_query_id),
        CONSTRAINT fq_by_name UNIQUE (name, owner_id),
        FOREIGN KEY(owner_id) REFERENCES horse.employees (employee_id))""")
Exemple #3
0
import urllib.request, urllib.error, urllib.parse

from Logging import init_logging, mainlog, horse_dir, log_stacktrace
init_logging("file_server.log")
from Configurator import load_configuration, init_i18n, configuration, resource_dir
load_configuration("server.cfg", "server_config_check.cfg")

if __name__ == "__main__":

    base_url = "http://localhost:{}".format(
        configuration.get("DownloadSite", "port"))

    mainlog.info("Testing {}".format(base_url))

    response = urllib.request.urlopen(base_url)
    if "This is the Horse download site !" not in response.read():
        mainlog.error("Can't see homepage")
    else:
        mainlog.info("Homepage OK")

    response = urllib.request.urlopen(base_url + "/database")
    mainlog.info("Database = " + response.read())

    response = urllib.request.urlopen(base_url + "/version")
    mainlog.info("Version = " + response.read())

    response = urllib.request.urlopen(base_url + "/file")

    mainlog.info("Client file = {} ".format(
        response.info().headers[4].strip()))
    mainlog.info("Client file = {} bytes".format(len(response.read())))
Exemple #4
0
if __name__ == "__main__":
    from Logging import init_logging
    init_logging("rlab.log")
    from Configurator import configuration, mainlog, init_i18n, load_configuration
    init_i18n()
    load_configuration()

from datetime import datetime, date
from decimal import *

from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import ParagraphStyle
from reportlab import platypus
from reportlab.platypus import Paragraph
from reportlab.lib.enums import TA_RIGHT, TA_CENTER
from reportlab.lib.units import cm
from reportlab.platypus.doctemplate import FrameBreak
from reportlab.platypus.flowables import PageBreak
from reportlab.lib import colors

from koi.translators import nunicode, date_to_dmy, crlf_to_br
from koi.reporting.utils import MyTable, make_pdf_filename, open_pdf, customer_PDF, moneyfmt, NumberedCanvas, append_general_conditions, append_header_block, escape_html

import os
from koi.Configurator import resource_dir
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
# reportlab.rl_config.warnOnMissingFontGlyphs = 0
pdfmetrics.registerFont(
    TTFont('DejaVuSansMono', os.path.join(resource_dir, 'DejaVuSansMono.ttf')))
Exemple #5
0
from datetime import datetime, date, timedelta

# Make sure we work with an in memory database
import Configurator
# Configurator.configuration.in_test()

import logging
from Logging import init_logging
init_logging("test.log")

from Configurator import init_i18n, load_configuration
init_i18n()
load_configuration()
from Configurator import mainlog, configuration

from sqlalchemy.exc import IntegrityError, InternalError
from sqlalchemy.sql.expression import func, select, join, and_, desc

import db_mapping

from db_mapping import Employee, Task, OperationDefinition, TaskActionReport, TimeTrack, DeliverySlipPart, Order, Customer, OrderPart, Operation, ProductionFile, TaskOnOperation, TaskActionReportType, TaskOnNonBillable
from db_mapping import OrderStatusType

from dao import *
from server import ClockServer, ServerException

s = db_mapping.global_session()

d = date(2013, 1, 1)

for i in range(90):
Exemple #6
0
# In IPython
# %run dbsetup.py

from datetime import datetime
import sys
sys.path.append('..')

from Logging import init_logging
init_logging(r"ipython.log")
from Configurator import init_i18n, mainlog, load_configuration
load_configuration()
init_i18n()

from db_mapping import *
from dao import DAO, printquery
dao = DAO(session())


def printquery(statement, bind=None):
    """
    print a query, with values filled in
    for debugging purposes *only*
    for security, you should always separate queries from their values
    please also note that this function is quite slow
    """
    import sqlalchemy.orm
    if isinstance(statement, sqlalchemy.orm.Query):
        if bind is None:
            bind = statement.session.get_bind(statement._mapper_zero_or_none())
        statement = statement.statement
    elif bind is None: