Exemplo n.º 1
0
def read_rejoinders(id_list, out_path):

    user = os.getenv("USER")
    password = os.getenv("PASSWORD")
    url = os.getenv("URL")
    db_name = os.getenv("REJOINDER_DB")
    client = Cloudant(user, password, url=url, connect=True, auto_renew=True)

    # Open rejoinder DB
    rejoinder_db = client[db_name]
    df_list = []
    export_practicajas = File(to_save=out_path + '\\result_practicajas.xlsx')
    export_atms = File(to_save=out_path + '\\result_atms.xlsx')
    for id in id_list:
        doc = rejoinder_db[id]
        df_list.append(doc)
    for d in df_list:
        if d.get('marca_modelo') and d['marca_modelo'].upper(
        ) in 'WINCOR 2100XE':
            export_practicajas.append_df_to_excel(pd.DataFrame([d]),
                                                  d['sheet'],
                                                  **{'index': False})
        else:
            export_atms.append_df_to_excel(pd.DataFrame([d]), d['sheet'],
                                           **{'index': False})
Exemplo n.º 2
0
	def scan(self, level):
		if level != 0:
			for root, dirs, files in os.walk(self.path):
				path = root.replace(self.path, "").split(os.path.sep)
				if path[-1] == "":
					path = []
				if len(path)-1 <= level:
					self.data.append(File(root))
				if len(path) < level:
					for file in files:
						self.data.append(File(root + os.path.sep + file))
		else:
			self.data.append(File(self.path))
		return self
Exemplo n.º 3
0
def get_clarification_file(file):
    """ Get clarifications from the [file] and return a File with the results """

    # Edit duplicated taking only ticket key and tag all repetitions
    file.data['duplicated'] = file.data.duplicated(subset='TICKET_KEY',
                                                   keep=False)
    clarifications = File()
    clarifications.data = file.data[file.data['duplicated'] == False]
    return clarifications
Exemplo n.º 4
0
def get_inconsistencies_file(file):
    """ Get inconsistencies from the [file] and return a File with the results """

    # Edit duplicated taking only ticket key and tag all repetitions
    file.data['duplicated'] = file.data.duplicated(subset='TICKET_KEY',
                                                   keep=False)
    inconsistencies = File()
    inconsistencies.data = file.data[file.data['duplicated']]
    return inconsistencies
Exemplo n.º 5
0
def concat_data(paths):
    """ Read the DF in input paths and concatenate it. """
    concat = File()
    dfs = []
    # Sheets to read
    sheet_names = ['BDI Disponibilidad', 'BDI Mantenimientos Preventivos']

    for path in paths:
        try:
            file_name = path.split('\\')[-1]
            path = path.replace(file_name, '')

            os.chdir(path)

            temp = File(to_read=file_name,
                        read_options={'sheet_name': sheet_names})
            temp.data['file_name'] = file_name
            dfs.append(temp.data)
        except:
            print(f"File {file_name} could not be read")

    concat.concat(dfs, **{"ignore_index": True})
    return concat
Exemplo n.º 6
0
    def __init__(self, logger, dataFolder: File, staticFolder: str, host: str,
                 port: int, ssl, websocketEntry: str):
        super().__init__()
        self.setName("ResourceServer")
        self.setDaemon(True)

        self.logger = logger
        self.dataFolder = dataFolder
        self.staticFolder = staticFolder
        self.host = host
        self.port = port
        self.ssl = ssl
        self.websocketEntry = websocketEntry

        self.tempDir = File(tempfile.mkdtemp())
        self.tempDirClean = Thread(target=self.cleanTask, daemon=True)
        self.cleanTaskList = []
Exemplo n.º 7
0
def send_data():
    global mutex
    global send_timer
    global SeqNo
    global total_packets

    # 生成所有包
    packets = File(filename).process()
    # 包的数量
    total_packets = len(packets)

    # 下面要发的起始包序号
    next_to_send = 0
    # 已经发送并确认了的包序号
    SeqNo = 0
    window_size = set_window_size(total_packets)

    # 创建接收线程
    T_receive_ACK = threading.Thread(target=receive_ACK)
    T_receive_ACK.start()

    while SeqNo < total_packets:
        mutex.acquire()
        # 将这个窗口的所有包发出
        while next_to_send < SeqNo + window_size:
            # 发送了一个包
            sock_sender.send(packets[next_to_send], (Server_ip, Client_data_Port))
            next_to_send += 1
        # 开始计时
        if not send_timer.running():
            send_timer.start()
        # 等待截至时间或接收到ACK
        while send_timer.running() and not send_timer.timeout():
            mutex.release()
            time.sleep(SLEEP_INTERVAL)
            mutex.acquire()
        # 未接收到ACK重发
        if send_timer.timeout():
            send_timer.stop()
            next_to_send = SeqNo
        else:  # 设定窗口大小,防止溢出
            window_size = set_window_size(total_packets)
        mutex.release()
    # 发送一个空包
    sock_sender.send(PDU.make_empty(), (Server_ip, Client_data_Port))
Exemplo n.º 8
0
def receive_data():
    time_flag = False
    expected_num = 0  # 期待接收的包序号
    packets = []
    # 不断监听
    while True:
        # 接收
        pack, _ = sock_receiver.receive()
        # 开始计时的标志
        if not time_flag:
            time_flag = True
        # 已经接收不到包,接收完毕了
        if not pack:
            break
        # 解包查看内容
        seq_num, data, flag = PDU.unpack(pack)

        # flag为真即校验成功才接收
        if flag:
            # 返回ACK
            if seq_num == expected_num:
                packets.append(pack)
                pack = PDU.makepack(expected_num)
                sock_receiver.send(pack, (Client_ip, Server_ACK_Port))
                expected_num += 1
            else:
                # 发送ACK(expected_num-1)
                pack = PDU.makepack(expected_num - 1)
                sock_receiver.send(pack, (Client_ip, Server_ACK_Port))
            # 日志
            print('sock_receiver Got packet', seq_num)
            log.write("True " + str(seq_num) + "packet " + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '\n')
        else:
            # 日志
            print('sock_receiver Got packet', seq_num, "but FCS flag is false")
            log.write("Fasle " + str(seq_num) + "packet " + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '\n')
    File(packets).process()
Exemplo n.º 9
0
    ser.addRouteRule("attachment_list", AttachmentsHandler.onRequestAttachmentList)
    ser.addRouteRule("remove_attachment", AttachmentsHandler.onRemoveAttachment)

    ser.addRouteRule("access_path", Documents.onAccessPath)
    ser.addRouteRule("write_file", Documents.onWriteFile)
    ser.addRouteRule("delete_file", Documents.onDeleteFile)
    ser.addRouteRule("rename_file", Documents.onRenameFile)
    ser.addRouteRule("create_folder", Documents.onCreateFolder)
    ser.addRouteRule("create_file", Documents.onCreateFile)
    ser.addRouteRule("move_file", Documents.onMoveFile)
    ser.addRouteRule("copy_file", Documents.onCopyFile)

    await ser.serve()


appDir = File(os.path.split(os.path.abspath(sys.argv[0]))[0])
configs = {
    'logs_directory': 'logs',
    'forwarder_port': 800,
    'websocket_port': 58010,
    'flask_port': 58011,
    'forwarder_host': '127.0.0.1',
    'websocket_host': '0.0.0.0',
    'flask_host': '0.0.0.0',
    'data_directory': 'users',
    'frontend_directory': 'htdocs',
    'ssl_cert_file': 'domain.pem',
    'ssl_key_file': 'domain.key',

    'websocket_entry': 'ws://127.0.0.1:800'
}