コード例 #1
0
ファイル: onedrive_api.py プロジェクト: simudream/metasync
 def metadata(self, path):
     path = util.format_path(path)
     _md = self.search(path)
     md = {}
     md['size'] = _md['size']
     md['mtime'] = util.convert_time(_md['updated_time'])
     return md
コード例 #2
0
ファイル: list_items.py プロジェクト: teotikalki/toxygen
    def __init__(self, text, time, user='', sent=True, message_type=TOX_MESSAGE_TYPE['NORMAL'], parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(2, 2, 95, 23))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily(settings.Settings.get_instance()['font'])
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)

        self.time = QtWidgets.QLabel(self)
        self.time.setGeometry(QtCore.QRect(parent.width() - 60, 0, 50, 25))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self._time = time
        if not sent:
            movie = QtGui.QMovie(curr_directory() + '/images/spinner.gif')
            self.time.setMovie(movie)
            movie.start()
            self.t = True
        else:
            self.time.setText(convert_time(time))
            self.t = False

        self.message = MessageEdit(text, parent.width() - 160, message_type, self)
        if message_type != TOX_MESSAGE_TYPE['NORMAL']:
            self.name.setStyleSheet("QLabel { color: #5CB3FF; }")
            self.message.setAlignment(QtCore.Qt.AlignCenter)
            self.time.setStyleSheet("QLabel { color: #5CB3FF; }")
        self.message.setGeometry(QtCore.QRect(100, 0, parent.width() - 160, self.message.height()))
        self.setFixedHeight(self.message.height())
コード例 #3
0
ファイル: google_api.py プロジェクト: dstarikov/metavault
 def metadata(self, path):
     path = util.format_path(path)
     _md = self.search(path)
     md = {}
     md['size'] = eval(_md['fileSize'])
     md['mtime'] = util.convert_time(_md['modifiedDate'])
     return md
コード例 #4
0
ファイル: dropbox_api.py プロジェクト: UWNetworksLab/metasync
 def metadata(self, path):
   # only for file, not dir
   _md = self.client.metadata(path)
   md = {}
   md['size'] = _md['bytes']
   md['mtime'] = util.convert_time(_md['modified'])
   return md
コード例 #5
0
ファイル: google_api.py プロジェクト: UWNetworksLab/metasync
 def metadata(self, path):
   path = util.format_path(path)
   _md = self.search(path)
   md = {}
   md['size'] = eval(_md['fileSize'])
   md['mtime'] = util.convert_time(_md['modifiedDate'])
   return md
コード例 #6
0
ファイル: dropbox_api.py プロジェクト: simudream/metasync
 def metadata(self, path):
     # only for file, not dir
     _md = self.client.metadata(path)
     md = {}
     md['size'] = _md['bytes']
     md['mtime'] = util.convert_time(_md['modified'])
     return md
コード例 #7
0
ファイル: list_items.py プロジェクト: toxygen-project/toxygen
    def __init__(self, text, time, user="", sent=True, message_type=TOX_MESSAGE_TYPE["NORMAL"], parent=None):
        QtGui.QWidget.__init__(self, parent)
        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(2, 2, 95, 23))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily(settings.Settings.get_instance()["font"])
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)

        self.time = QtGui.QLabel(self)
        self.time.setGeometry(QtCore.QRect(parent.width() - 60, 0, 50, 25))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self._time = time
        if not sent:
            movie = QtGui.QMovie(curr_directory() + "/images/spinner.gif")
            self.time.setMovie(movie)
            movie.start()
            self.t = True
        else:
            self.time.setText(convert_time(time))
            self.t = False

        self.message = MessageEdit(text, parent.width() - 160, message_type, self)
        if message_type != TOX_MESSAGE_TYPE["NORMAL"]:
            self.name.setStyleSheet("QLabel { color: #5CB3FF; }")
            self.message.setAlignment(QtCore.Qt.AlignCenter)
            self.time.setStyleSheet("QLabel { color: #5CB3FF; }")
        self.message.setGeometry(QtCore.QRect(100, 0, parent.width() - 160, self.message.height()))
        self.setFixedHeight(self.message.height())
コード例 #8
0
 def metadata(self, path):
   path = util.format_path(path)
   _md = self.search(path)
   md = {}
   md['size'] = _md['size']
   md['mtime'] = util.convert_time(_md['updated_time'])
   return md
コード例 #9
0
ファイル: dropbox_api.py プロジェクト: dstarikov/metavault
 def metadata(self, path):
     # only for file, not dir
     if not path.startswith('/'):
         path = '/' + path
     _md = self.client.files_get_metadata(path)
     md = {}
     md['size'] = _md.size
     md['mtime'] = util.convert_time(_md.client_modified)
     return md
コード例 #10
0
 def __init__(self, hostname, device_id, lastseen_time, is_connected,
              is_guest, ip_address, mac_address):
     """Station initialize."""
     self.hostname = hostname
     self.device_id = device_id
     self.lastseen_time = convert_time(lastseen_time)
     self.is_connected = is_connected
     self.is_guest = is_guest
     self.ip_address = ip_address
     self.mac_address = convert_macaddr(mac_address)
コード例 #11
0
ファイル: Sequence.py プロジェクト: StevenSiegl/Cryostat-GUI
 def measure_oneshot(self, conf):
     """invoke a single measurement and send it to saving the data"""
     try:
         with locking(self.mainthread.controls_Lock):
             conf["store_signal"].emit(
                 deepcopy(measure_resistance_singlechannel(**conf)))
             print("measuring", convert_time(time.time()))
     finally:
         QTimer.singleShot(30 * 1e3,
                           lambda: self.measure_oneshot(self.conf))
コード例 #12
0
ファイル: box_api.py プロジェクト: UWNetworksLab/metasync
  def metadata(self, path):
    path = util.format_path(path)
    file_id = self._path_to_metadata(path)['id']
    
    url = BoxAPI.BASE_URL + '/files/%s' % file_id
    _md = self._request('GET', url)
    md = {}
    md['size'] = _md['size']
    md['mtime'] = util.convert_time(_md['modified_at'])

    return md
コード例 #13
0
ファイル: box_api.py プロジェクト: dstarikov/metavault
    def metadata(self, path):
        path = util.format_path(path)
        file_id = self._path_to_metadata(path)['id']

        url = BoxAPI.BASE_URL + '/files/%s' % file_id
        _md = self._request('GET', url)
        md = {}
        md['size'] = _md['size']
        md['mtime'] = util.convert_time(_md['modified_at'])

        return md
コード例 #14
0
ファイル: models.py プロジェクト: bunseokbot/IoTInsight
 def __init__(self, time, src_macaddr, dst_macaddr, src_ipaddr, src_port,
              dst_ipaddr, dst_port, protocol, message):
     """Initialize Packet model."""
     self.time = convert_time(time)
     self.src_macaddr = convert_macaddr(src_macaddr)
     self.dst_macaddr = convert_macaddr(dst_macaddr)
     self.src_ipaddr = src_ipaddr
     self.src_port = src_port
     self.dst_ipaddr = dst_ipaddr
     self.dst_port = dst_port
     self.protocol = protocol
     self.message = json.dumps(message)
コード例 #15
0
    def show_set_cache_length(cls, length):
        """Show set cache length setting"""

        if not len(length):
            wf.add_item(title=SETTINGS['SET_CACHE']['title'] % '[seconds]',
                autocomplete=SETTINGS['SET_CACHE']['autocomplete'],
                icon=SETTINGS['SET_CACHE']['icon'])
        else:
            try:
                int(length)
                wf.add_item(title=SETTINGS['SET_CACHE']['title'] % util.convert_time(length),
                    arg=SETTINGS['SET_CACHE']['arg'] % length,
                    icon=SETTINGS['SET_CACHE']['icon'],
                    valid=True)
            except:
                wf.add_item(title='please insert valid cache length',
                    icon=ICON_CLOCK)
コード例 #16
0
    def show_set_cache_length(cls, length):
        """Show set cache length setting"""

        if not len(length):
            wf.add_item(title=SETTINGS['SET_CACHE']['title'] % '[seconds]',
                        autocomplete=SETTINGS['SET_CACHE']['autocomplete'],
                        icon=SETTINGS['SET_CACHE']['icon'])
        else:
            try:
                int(length)
                wf.add_item(title=SETTINGS['SET_CACHE']['title'] %
                            util.convert_time(length),
                            arg=SETTINGS['SET_CACHE']['arg'] % length,
                            icon=SETTINGS['SET_CACHE']['icon'],
                            valid=True)
            except:
                wf.add_item(title='please insert valid cache length',
                            icon=ICON_CLOCK)
コード例 #17
0
def get_rss(endpoint: str, interval: int = 60) -> List[RssContent]:
    """
    rssのxmlを返すendpoint(url)からrss情報を取得し、必要な情報だけ抜き出す
    interval分以内の記事だけを返す。定期実行はinterval分と同じ間隔にすればよい
    intervalを負数にすると全記事返す(デバッグ用)
    """
    nowtime = datetime.now(timezone(timedelta(hours=+9), 'JST'))
    feed = feedparser.parse(endpoint)
    rss_list: List[RssContent] = []
    for entry in feed.entries:
        if not entry.get("link"):
            continue
        published = convert_time(entry.published_parsed)
        if (nowtime - published).total_seconds() // 60 <= interval or interval < 0:
            rss_content = RssContent(
                title=entry.title,
                url=entry.link,
                published_date=published
            )
            rss_list.append(rss_content)
    return rss_list
コード例 #18
0
def process_input(input_path, length_unit, time_unit):
    # Read the tracks
    df = pd.read_csv(input_path, header=0, sep='\t',
                     names=['track', 'slice',
                            length_name('x', length_unit),
                            length_name('y', length_unit),
                            length_name('distance', length_unit),
                            speed_name('speed', length_unit, time_unit),
                            'value'],
                     na_values={
                         length_name('distance', length_unit): -1.0,
                         speed_name('speed', length_unit, time_unit): -1.0
                     })

    # Add time column
    df[time_name('duration', time_unit)] = (
        df[length_name('distance', length_unit)] /
        df[speed_name('speed', length_unit, time_unit)]
    )

    # Add unit conversion columns
    for column in ['x', 'y', 'distance']:
        col_in = df[length_name(column, length_unit)]
        if column == 'y' and OUTPUT_LENGTH_UNIT != 'px':
            col_out = convert_length(util.IMAGE_HEIGHT_PX - col_in,
                                     length_unit, OUTPUT_LENGTH_UNIT)
        else:
            col_out = convert_length(col_in, length_unit, OUTPUT_LENGTH_UNIT)
        df[length_name(column, OUTPUT_LENGTH_UNIT)] = col_out
    for column in ['duration']:
        col_in = df[time_name(column, time_unit)]
        col_out = convert_time(col_in, time_unit, OUTPUT_TIME_UNIT)
        df[time_name(column, OUTPUT_TIME_UNIT)] = col_out
    for column in ['speed']:
        col_in = df[speed_name(column, length_unit, time_unit)]
        col_out = convert_speed(col_in, length_unit, time_unit,
                                OUTPUT_LENGTH_UNIT, OUTPUT_TIME_UNIT)
        df[speed_name(column, OUTPUT_LENGTH_UNIT, OUTPUT_TIME_UNIT)] = col_out

    return df
コード例 #19
0
def predict(path):
    print(path)
    if not os.path.isfile(path):
        raise FileNotFoundError("正しくないファイルパスが入力されました。")

    if not any(
        [os.path.splitext(path)[-1].lower() == ext for ext in allow_ext]):
        raise ValueError("処理できる音声ファイルは " + ",".join(allow_ext) + "のいずれかです。")

    try:
        filename = os.path.splitext(os.path.basename(path))[0]

        print("音声読み込み中...")
        S, bins_per_seconds = preprocess(path, mono=False, hop_length=512)

        print("モデル予測中...")
        global sess
        global graph

        with graph.as_default():
            keras.backend.set_session(sess)
            pred = model.predict(np.expand_dims(S, 0))

        print("変換中...")
        times = convert_time(pred, bins_per_seconds, quality_index)

        print("ファイル保存中...")
        with open(current_dir + "/label/{}.txt".format(filename),
                  mode="w") as f:
            for t in times:
                if t[2] != "N.C.":
                    f.write("{}	{}	{}\n".format(t[0], t[1], t[2]))
        print("/label/{}.txtに保存しました。".format(filename))

        return times

    except Exception as e:
        raise e
コード例 #20
0
 def load_history(self):
     """
     Tries to load next part of messages
     """
     friend = self._friends[self._active_friend]
     friend.load_corr(False)
     data = friend.get_corr()
     if not data:
         return
     data.reverse()
     data = data[self._messages.count():self._messages.count() + PAGE_SIZE]
     for message in data:
         if message.get_type() <= 1:
             data = message.get_data()
             self.create_message_item(
                 data[0], convert_time(data[2]),
                 friend.name if data[1] else self._name, data[3], False)
         elif message.get_type() == 2:
             item = self.create_file_transfer_item(message, False)
             if message.get_status() in (2, 4):
                 ft = self._file_transfers[(message.get_friend_number(),
                                            message.get_file_number())]
                 ft.set_state_changed_handler(item.update)
コード例 #21
0
ファイル: profile.py プロジェクト: SergeyDjam/toxygen
 def load_history(self):
     """
     Tries to load next part of messages
     """
     friend = self._friends[self._active_friend]
     friend.load_corr(False)
     data = friend.get_corr()
     if not data:
         return
     data.reverse()
     data = data[self._messages.count():self._messages.count() + PAGE_SIZE]
     for message in data:
         if message.get_type() <= 1:
             data = message.get_data()
             self.create_message_item(data[0],
                                      convert_time(data[2]),
                                      friend.name if data[1] else self._name,
                                      data[3],
                                      False)
         elif message.get_type() == 2:
             item = self.create_file_transfer_item(message, False)
             if message.get_status() in (2, 4):
                 ft = self._file_transfers[(message.get_friend_number(), message.get_file_number())]
                 ft.set_state_changed_handler(item.update)
コード例 #22
0
    def set_active(self, value=None):
        """
        :param value: number of new active friend in friend's list or None to update active user's data
        """
        if value is None and self._active_friend == -1:  # nothing to update
            return
        if value == -1:  # all friends were deleted
            self._screen.account_name.setText('')
            self._screen.account_status.setText('')
            self._active_friend = -1
            self._screen.account_avatar.setHidden(True)
            self._messages.clear()
            self._screen.messageEdit.clear()
            return
        try:
            self.send_typing(False)
            self._screen.typing.setVisible(False)
            if value is not None:
                self._active_friend = value
                friend = self._friends[value]
                self._friends[value].set_messages(False)
                self._screen.messageEdit.clear()
                self._messages.clear()
                friend.load_corr()
                messages = friend.get_corr()[-PAGE_SIZE:]
                for message in messages:
                    if message.get_type() <= 1:
                        data = message.get_data()
                        self.create_message_item(
                            data[0], convert_time(data[2]),
                            friend.name if data[1] else self._name, data[3])
                    elif message.get_type() == 2:
                        item = self.create_file_transfer_item(message)
                        if message.get_status() in (2,
                                                    4):  # active file transfer
                            ft = self._file_transfers[(
                                message.get_friend_number(),
                                message.get_file_number())]
                            ft.set_state_changed_handler(item.update)
                    else:  # inline
                        self.create_inline_item(message.get_data())
                self._messages.scrollToBottom()
                if value in self._call:
                    self._screen.active_call()
                elif value in self._incoming_calls:
                    self._screen.incoming_call()
                else:
                    self._screen.call_finished()
            else:
                friend = self._friends[self._active_friend]

            self._screen.account_name.setText(friend.name)
            self._screen.account_status.setText(friend.status_message)
            avatar_path = (ProfileHelper.get_path() + 'avatars/{}.png').format(
                friend.tox_id[:TOX_PUBLIC_KEY_SIZE * 2])
            if not os.path.isfile(avatar_path):  # load default image
                avatar_path = curr_directory() + '/images/avatar.png'
            pixmap = QtGui.QPixmap(QtCore.QSize(64, 64))
            pixmap.load(avatar_path)
            self._screen.account_avatar.setScaledContents(False)
            self._screen.account_avatar.setPixmap(
                pixmap.scaled(64, 64, QtCore.Qt.KeepAspectRatio))
            self._screen.account_avatar.repaint()  # comment?
        except:  # no friend found. ignore
            log('Incorrect friend value: ' + str(value))
            raise
コード例 #23
0
ファイル: Sequence.py プロジェクト: StevenSiegl/Cryostat-GUI
def measure_resistance_singlechannel(threads,
                                     excitation_current_A,
                                     threadname_RES,
                                     threadname_CURR,
                                     threadname_Temp="control_LakeShore350",
                                     temperature_sensor="Sensor_1_K",
                                     n_measurements=1,
                                     **kwargs):
    """conduct one 'full' measurement of resistance:
    arguments: dict conf
        threads = dict of threads running of the mainWindow class
        threadname_Temp  = name of the (LakeShore) Temperature thread
        threadname_RES  = name of the (Keithley) Voltage measure thread
        threadname_CURR  = name of the (Keithley) Current set thread
        n_measurements  = number of measurements (dual polarity) to be averaged over
                        default = 1 (no reason to do much more)
        excitation_current_A = excitation current for the measurement
    returns: dict data
        T_mean_K : mean of temperature readings
                before and after measurement [K]
        T_std_K : std of temperature readings
                before and after measurement [K]
        R_mean_Ohm : mean of all n_measurements resistance measurements [Ohm]
        R_std_Ohm : std of all n_measurements resistance measurements [Ohm]
    """
    # measured current reversal = 40ms.
    # reversal measured with a DMM 7510 of a 6221 Source (both Keithley)
    current_reversal_time = 0.06

    data = dict()
    temps = []
    resistances = []  # pos & neg

    with loops_off(threads):
        threads[threadname_CURR][0].enable()
        temps.append(threads[threadname_Temp][0].read_Temperatures()
                     [temperature_sensor])

        for idx in range(n_measurements):
            # as first time, apply positive current --> pos voltage (correct)
            for currentfactor in [1, -1]:
                threads[threadname_CURR][0].gettoset_Current_A(
                    excitation_current_A * currentfactor)
                threads[threadname_CURR][0].setCurrent_A()
                # wait for the current to be changed:
                time.sleep(current_reversal_time)
                voltage = threads[threadname_RES][0].read_Voltage(
                ) * currentfactor
                # pure V/I, I hope that is fine.
                resistances.append(voltage /
                                   (excitation_current_A * currentfactor))

        temps.append(threads[threadname_Temp][0].read_Temperatures()
                     [temperature_sensor])

    data["T_mean_K"] = np.mean(temps)
    data["T_std_K"] = np.std(temps)

    data["R_mean_Ohm"] = np.mean(resistances)
    data["R_std_Ohm"] = np.std(resistances)
    data["datafile"] = kwargs["datafile"]
    timedict = {
        "timeseconds": time.time(),
        "ReadableTime": convert_time(time.time()),
        "SearchableTime": convert_time_searchable(time.time()),
    }
    data.update(timedict)
    return data
コード例 #24
0
ファイル: Sequence.py プロジェクト: StevenSiegl/Cryostat-GUI
def measure_resistance_multichannel(
        threads,
        excitation_currents_A,
        threadnames_RES,
        threadnames_CURR,
        iv_characteristic,
        threadname_Temp="control_LakeShore350",
        # temperature_sensor='Sensor_1_K',
        # n_measurements=1,
        current_reversal_time=0.08,
        **kwargs):
    """conduct one 'full' measurement of resistance:
    arguments: dict conf
        threads = dict of threads running of the mainWindow class
        threadname_Temp  = name of the (LakeShore) Temperature thread
        threadnames_RES  = list of names of the (Keithley) Voltage measure threads
        threadnames_CURR  = list of names of the (Keithley) Current set threads
        n_measurements  = number of measurements (dual polarity) to be averaged over
                        default = 1 (no reason to do much more)
        excitation_currents_A = list of excitations currents for the measurement
    returns: dict data
        T_mean_K : dict of means of temperature readings
                before and after measurement [K]
        T_std_K : dict of stds of temperature readings
                before and after measurement [K]
        resistances, voltages, currents:
            dicts with corresponding values for all measurement channels
        timeseconds: pythons time.time()
        ReadableTime: Time in %Y-%m-%d %H:%M:%S
        SearchableTime: Time in %Y%m%d%H%M%S
    """
    # measured current reversal = 40ms.
    # reversal measured with a DMM 7510 of a 6221 Source (both Keithley)
    lengths = [
        len(threadnames_CURR),
        len(threadnames_RES),
        len(excitation_currents_A)
    ]
    for c in comb(lengths, 2):
        if c[0] != c[1]:
            raise AssertionError(
                "number of excitation currents, current sources and voltmeters does not coincide!"
            )
    data = dict()
    resistances = {
        key: dict(coeff=0, residuals=0, nonohmic=0)
        for key in threadnames_RES
    }
    voltages = {key: [] for key in threadnames_RES}
    currents = {key: [] for key in threadnames_CURR}

    with loops_off(threads):

        temp1 = threads[threadname_Temp][0].read_Temperatures()
        temps = {key: [val] for key, val in zip(temp1.keys(), temp1.values())}

        for ct, (name_curr, exc_curr, name_volt) in enumerate(
                zip(threadnames_CURR, excitation_currents_A, threadnames_RES)):
            threshold_residuals = 1e4
            # threshold_coefficients = 1e4

            threads[name_curr][0].enable()

            for current_base in iv_characteristic:
                for currentfactor in [-1, 1]:
                    current = exc_curr * currentfactor * current_base
                    # print(current)
                    currents[name_curr].append(current)
                    threads[name_curr][0].gettoset_Current_A(current)
                    threads[name_curr][0].setCurrent_A()
                    # wait for the current to be changed:
                    time.sleep(current_reversal_time)
                    voltage = threads[name_volt][0].read_Voltage()
                    voltages[name_volt].append(voltage)
            c, stats = polyfit(currents[name_curr],
                               voltages[name_volt],
                               deg=1,
                               full=True)
            resistances[name_volt]["coeff"] = c[1]
            resistances[name_volt]["residuals"] = stats[0][0]
            # c_wrong = polyfit(currents[name_curr], voltages[
            #                   name_volt], deg=4)
            # print(stats[0], c_wrong)

            if stats[0] > threshold_residuals:
                resistances[name_volt]["nonohmic"] = 1
            # if np.any(np.array([x > threshold_coefficients for x in stats[2:]])):
            #     resistances[name_volt]['nonohmic'] = 1

            threads[name_curr][0].disable()

        temp2 = threads[threadname_Temp][0].read_Temperatures()
        for key in temps:
            temps[key].append(temp2[key])

    data["T_mean_K"] = {key + "_mean": np.mean(temps[key]) for key in temps}
    data["T_std_K"] = {
        key + "_std": np.std(temps[key], ddof=1)
        for key in temps
    }

    data["resistances"] = {
        key.strip("control_"): value
        for key, value in zip(resistances.keys(), resistances.values())
    }
    data["voltages"] = {
        key.strip("control_"): value
        for key, value in zip(voltages.keys(), voltages.values())
    }
    data["currents"] = {
        key.strip("control_"): value
        for key, value in zip(currents.keys(), currents.values())
    }

    df = pd.DataFrame.from_dict(data)
    data["datafile"] = kwargs["datafile"]
    timedict = {
        "timeseconds": time.time(),
        "ReadableTime": convert_time(time.time()),
        "SearchableTime": convert_time_searchable(time.time()),
    }
    data.update(timedict)

    data["df"] = df
    # print(data)
    # for x in data: print(x)
    # df = pd.DataFrame.from_dict(data)
    return data
コード例 #25
0
ファイル: list_items.py プロジェクト: SergeyDjam/toxygen
    def __init__(self, file_name, size, time, user, friend_number, file_number, state, parent=None):

        QtGui.QListWidget.__init__(self, parent)
        self.resize(QtCore.QSize(620, 50))
        if state != FILE_TRANSFER_MESSAGE_STATUS['CANCELLED']:
            self.setStyleSheet('QWidget { background-color: green; }')
        else:
            self.setStyleSheet('QWidget { background-color: #B40404; }')

        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(1, 15, 95, 20))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily("Times New Roman")
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)
        self.name.setStyleSheet('QLabel { color: black; }')

        self.time = QtGui.QLabel(self)
        self.time.setGeometry(QtCore.QRect(570, 2, 50, 46))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self.time.setText(convert_time(time))
        self.time.setStyleSheet('QLabel { color: black; }')

        self.cancel = QtGui.QPushButton(self)
        self.cancel.setGeometry(QtCore.QRect(500, 2, 46, 46))
        pixmap = QtGui.QPixmap(curr_directory() + '/images/decline.png')
        icon = QtGui.QIcon(pixmap)
        self.cancel.setIcon(icon)
        self.cancel.setIconSize(QtCore.QSize(30, 30))
        self.cancel.setVisible(state > 1)
        self.cancel.clicked.connect(lambda: self.cancel_transfer(friend_number, file_number))
        self.cancel.setStyleSheet('QPushButton:hover { border: 1px solid #3A3939; }')

        self.accept = QtGui.QPushButton(self)
        self.accept.setGeometry(QtCore.QRect(450, 2, 46, 46))
        pixmap = QtGui.QPixmap(curr_directory() + '/images/accept.png')
        icon = QtGui.QIcon(pixmap)
        self.accept.setIcon(icon)
        self.accept.setIconSize(QtCore.QSize(30, 30))
        self.accept.clicked.connect(lambda: self.accept_transfer(friend_number, file_number, size))
        self.accept.setVisible(state == FILE_TRANSFER_MESSAGE_STATUS['INCOMING_NOT_STARTED'])
        self.accept.setStyleSheet('QPushButton:hover { border: 1px solid #3A3939; }')

        self.pb = QtGui.QProgressBar(self)
        self.pb.setGeometry(QtCore.QRect(100, 15, 100, 20))
        self.pb.setValue(0)
        self.pb.setStyleSheet('QProgressBar { background-color: #302F2F; }')
        if state < 2:
            self.pb.setVisible(False)

        self.file_name = DataLabel(self)
        self.file_name.setGeometry(QtCore.QRect(210, 2, 230, 46))
        font.setPointSize(12)
        self.file_name.setFont(font)
        file_size = size / 1024
        if not file_size:
            file_size = '{}B'.format(size)
        elif file_size >= 1024:
            file_size = '{}MB'.format(file_size / 1024)
        else:
            file_size = '{}KB'.format(file_size)
        file_data = u'{} {}'.format(file_size, file_name)
        self.file_name.setText(file_data)
        self.file_name.setStyleSheet('QLabel { color: black; }')
        self.saved_name = file_name
コード例 #26
0
ファイル: list_items.py プロジェクト: toxygen-project/toxygen
    def __init__(self, file_name, size, time, user, friend_number, file_number, state, width, parent=None):

        QtGui.QListWidget.__init__(self, parent)
        self.resize(QtCore.QSize(width, 34))
        if state == TOX_FILE_TRANSFER_STATE["CANCELLED"]:
            self.setStyleSheet("QListWidget { border: 1px solid #B40404; }")
        elif state in PAUSED_FILE_TRANSFERS:
            self.setStyleSheet("QListWidget { border: 1px solid #FF8000; }")
        else:
            self.setStyleSheet("QListWidget { border: 1px solid green; }")
        self.state = state

        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(3, 7, 95, 25))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily(settings.Settings.get_instance()["font"])
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)

        self.time = QtGui.QLabel(self)
        self.time.setGeometry(QtCore.QRect(width - 60, 7, 50, 25))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self.time.setText(convert_time(time))

        self.cancel = QtGui.QPushButton(self)
        self.cancel.setGeometry(QtCore.QRect(width - 125, 2, 30, 30))
        pixmap = QtGui.QPixmap(curr_directory() + "/images/decline.png")
        icon = QtGui.QIcon(pixmap)
        self.cancel.setIcon(icon)
        self.cancel.setIconSize(QtCore.QSize(30, 30))
        self.cancel.setVisible(state in ACTIVE_FILE_TRANSFERS)
        self.cancel.clicked.connect(lambda: self.cancel_transfer(friend_number, file_number))
        self.cancel.setStyleSheet("QPushButton:hover { border: 1px solid #3A3939; background-color: none;}")

        self.accept_or_pause = QtGui.QPushButton(self)
        self.accept_or_pause.setGeometry(QtCore.QRect(width - 170, 2, 30, 30))
        if state == TOX_FILE_TRANSFER_STATE["INCOMING_NOT_STARTED"]:
            self.accept_or_pause.setVisible(True)
            self.button_update("accept")
        elif state in DO_NOT_SHOW_ACCEPT_BUTTON:
            self.accept_or_pause.setVisible(False)
        elif state == TOX_FILE_TRANSFER_STATE["PAUSED_BY_USER"]:  # setup for continue
            self.accept_or_pause.setVisible(True)
            self.button_update("resume")
        else:  # pause
            self.accept_or_pause.setVisible(True)
            self.button_update("pause")
        self.accept_or_pause.clicked.connect(lambda: self.accept_or_pause_transfer(friend_number, file_number, size))

        self.accept_or_pause.setStyleSheet("QPushButton:hover { border: 1px solid #3A3939; background-color: none}")

        self.pb = QtGui.QProgressBar(self)
        self.pb.setGeometry(QtCore.QRect(100, 7, 100, 20))
        self.pb.setValue(0)
        self.pb.setStyleSheet("QProgressBar { background-color: #302F2F; }")
        self.pb.setVisible(state in SHOW_PROGRESS_BAR)

        self.file_name = DataLabel(self)
        self.file_name.setGeometry(QtCore.QRect(210, 7, width - 420, 20))
        font.setPointSize(12)
        self.file_name.setFont(font)
        file_size = size // 1024
        if not file_size:
            file_size = "{}B".format(size)
        elif file_size >= 1024:
            file_size = "{}MB".format(file_size // 1024)
        else:
            file_size = "{}KB".format(file_size)
        file_data = "{} {}".format(file_size, file_name)
        self.file_name.setText(file_data)
        self.file_name.setToolTip(file_name)
        self.saved_name = file_name
        self.time_left = QtGui.QLabel(self)
        self.time_left.setGeometry(QtCore.QRect(width - 92, 7, 30, 20))
        font.setPointSize(10)
        self.time_left.setFont(font)
        self.time_left.setVisible(state == TOX_FILE_TRANSFER_STATE["RUNNING"])
        self.setFocusPolicy(QtCore.Qt.NoFocus)
        self.paused = False
コード例 #27
0
        dirs, files = listdir(srv, path)
        yield path, dirs, files
        toexpand.extend([path + '/' + d for d in dirs])


cls = sys.argv[1].lower()
path = util.format_path(sys.argv[2])

srv = services.factory(cls)
method = globals().get(cls + '_listdir', None)

beg = None
beg_file = None
end = None
end_file = None
for root, dirs, files in walk(srv, path, method):
    #print root, dirs, files
    for f in files:
        #print f
        ts = util.convert_time(f[1])
        if beg == None or ts < beg:
            beg = ts
            beg_file = f
        if end == None or ts > end:
            end = ts
            end_file = f
#print beg, end
print beg_file[0], beg_file[1]
print end_file[0], end_file[1]
print end - beg
コード例 #28
0
    def __init__(self, file_name, size, time, user, friend_number, file_number, state, width, parent=None):

        QtGui.QListWidget.__init__(self, parent)
        self.resize(QtCore.QSize(width, 34))
        if state == TOX_FILE_TRANSFER_STATE['CANCELLED']:
            self.setStyleSheet('QListWidget { border: 1px solid #B40404; }')
        elif state in PAUSED_FILE_TRANSFERS:
            self.setStyleSheet('QListWidget { border: 1px solid #FF8000; }')
        else:
            self.setStyleSheet('QListWidget { border: 1px solid green; }')
        self.state = state

        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(3, 7, 95, 20))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily("Times New Roman")
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)

        self.time = QtGui.QLabel(self)
        self.time.setGeometry(QtCore.QRect(width - 53, 7, 50, 20))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self.time.setText(convert_time(time))

        self.cancel = QtGui.QPushButton(self)
        self.cancel.setGeometry(QtCore.QRect(width - 120, 2, 30, 30))
        pixmap = QtGui.QPixmap(curr_directory() + '/images/decline.png')
        icon = QtGui.QIcon(pixmap)
        self.cancel.setIcon(icon)
        self.cancel.setIconSize(QtCore.QSize(30, 30))
        self.cancel.setVisible(state in ACTIVE_FILE_TRANSFERS)
        self.cancel.clicked.connect(lambda: self.cancel_transfer(friend_number, file_number))
        self.cancel.setStyleSheet('QPushButton:hover { border: 1px solid #3A3939; background-color: none;}')

        self.accept_or_pause = QtGui.QPushButton(self)
        self.accept_or_pause.setGeometry(QtCore.QRect(width - 170, 2, 30, 30))
        if state == TOX_FILE_TRANSFER_STATE['INCOMING_NOT_STARTED']:
            self.accept_or_pause.setVisible(True)
            self.button_update('accept')
        elif state in DO_NOT_SHOW_ACCEPT_BUTTON:
            self.accept_or_pause.setVisible(False)
        elif state == TOX_FILE_TRANSFER_STATE['PAUSED_BY_USER']:  # setup for continue
            self.accept_or_pause.setVisible(True)
            self.button_update('resume')
        else:  # pause
            self.accept_or_pause.setVisible(True)
            self.button_update('pause')
        self.accept_or_pause.clicked.connect(lambda: self.accept_or_pause_transfer(friend_number, file_number, size))

        self.accept_or_pause.setStyleSheet('QPushButton:hover { border: 1px solid #3A3939; background-color: none}')

        self.pb = QtGui.QProgressBar(self)
        self.pb.setGeometry(QtCore.QRect(100, 7, 100, 20))
        self.pb.setValue(0)
        self.pb.setStyleSheet('QProgressBar { background-color: #302F2F; }')
        self.pb.setVisible(state in SHOW_PROGRESS_BAR)

        self.file_name = DataLabel(self)
        self.file_name.setGeometry(QtCore.QRect(210, 7, width - 420, 20))
        font.setPointSize(12)
        self.file_name.setFont(font)
        file_size = size // 1024
        if not file_size:
            file_size = '{}B'.format(size)
        elif file_size >= 1024:
            file_size = '{}MB'.format(file_size // 1024)
        else:
            file_size = '{}KB'.format(file_size)
        file_data = '{} {}'.format(file_size, file_name)
        self.file_name.setText(file_data)
        self.file_name.setToolTip(file_name)
        self.saved_name = file_name
        self.time_left = QtGui.QLabel(self)
        self.time_left.setGeometry(QtCore.QRect(width - 87, 7, 30, 20))
        font.setPointSize(10)
        self.time_left.setFont(font)
        self.time_left.setVisible(state == TOX_FILE_TRANSFER_STATE['RUNNING'])
        self.setFocusPolicy(QtCore.Qt.NoFocus)
        self.paused = False
コード例 #29
0
 def mark_as_sent(self):
     if self.t:
         self.time.setText(convert_time(self._time))
         self.t = False
         return True
     return False
コード例 #30
0
ファイル: profile.py プロジェクト: SergeyDjam/toxygen
    def set_active(self, value=None):
        """
        :param value: number of new active friend in friend's list or None to update active user's data
        """
        if value is None and self._active_friend == -1:  # nothing to update
            return
        if value == -1:  # all friends were deleted
            self._screen.account_name.setText('')
            self._screen.account_status.setText('')
            self._active_friend = -1
            self._screen.account_avatar.setHidden(True)
            self._messages.clear()
            self._screen.messageEdit.clear()
            return
        try:
            self.send_typing(False)
            self._screen.typing.setVisible(False)
            if value is not None:
                self._active_friend = value
                friend = self._friends[value]
                self._friends[value].set_messages(False)
                self._screen.messageEdit.clear()
                self._messages.clear()
                friend.load_corr()
                messages = friend.get_corr()[-PAGE_SIZE:]
                for message in messages:
                    if message.get_type() <= 1:
                        data = message.get_data()
                        self.create_message_item(data[0],
                                                 convert_time(data[2]),
                                                 friend.name if data[1] else self._name,
                                                 data[3])
                    elif message.get_type() == 2:
                        item = self.create_file_transfer_item(message)
                        if message.get_status() in (2, 4):  # active file transfer
                            ft = self._file_transfers[(message.get_friend_number(), message.get_file_number())]
                            ft.set_state_changed_handler(item.update)
                    else:  # inline
                        self.create_inline_item(message.get_data())
                self._messages.scrollToBottom()
                if value in self._call:
                    self._screen.active_call()
                elif value in self._incoming_calls:
                    self._screen.incoming_call()
                else:
                    self._screen.call_finished()
            else:
                friend = self._friends[self._active_friend]

            self._screen.account_name.setText(friend.name)
            self._screen.account_status.setText(friend.status_message)
            avatar_path = (ProfileHelper.get_path() + 'avatars/{}.png').format(friend.tox_id[:TOX_PUBLIC_KEY_SIZE * 2])
            if not os.path.isfile(avatar_path):  # load default image
                avatar_path = curr_directory() + '/images/avatar.png'
            pixmap = QtGui.QPixmap(QtCore.QSize(64, 64))
            pixmap.load(avatar_path)
            self._screen.account_avatar.setScaledContents(False)
            self._screen.account_avatar.setPixmap(pixmap.scaled(64, 64, QtCore.Qt.KeepAspectRatio))
            self._screen.account_avatar.repaint()  # comment?
        except:  # no friend found. ignore
            log('Incorrect friend value: ' + str(value))
            raise
コード例 #31
0
ファイル: uploadtime.py プロジェクト: UWNetworksLab/metasync
        path = toexpand.pop(0)
        dirs, files = listdir(srv, path)
        yield path, dirs, files
        toexpand.extend([path+'/'+d for d in dirs])

cls = sys.argv[1].lower()
path = util.format_path(sys.argv[2])

srv = services.factory(cls)
method = globals().get(cls + '_listdir', None)

beg = None
beg_file = None
end = None
end_file = None
for root, dirs, files in walk(srv, path, method):
    #print root, dirs, files
    for f in files:
        #print f
        ts = util.convert_time(f[1])
        if beg == None or ts < beg:
            beg = ts
            beg_file = f
        if end == None or ts > end:
            end = ts
            end_file = f
#print beg, end
print beg_file[0], beg_file[1]
print end_file[0], end_file[1]
print end - beg
コード例 #32
0
ファイル: list_items.py プロジェクト: toxygen-project/toxygen
 def mark_as_sent(self):
     if self.t:
         self.time.setText(convert_time(self._time))
         self.t = False
         return True
     return False
コード例 #33
0
ファイル: logger.py プロジェクト: bklebel/Cryostat-GUI
    def store_data(self, data):
        """storing logging data
            what data should be logged is set in self.conf
            or will be set there eventually at any rate
        """
        # if isinstance(data, dict):
        if data["type"] == "multichannel":

            datastring = ""
            temperatures = [
                "{{{mean}:.5E}} {{{std}:.5E}} ".format(mean=mean, std=std)
                for mean, std in zip(data["T_mean_K"], data["T_std_K"])
            ]
            for t in temperatures:
                datastring += t
            datastring = datastring.format(**data["T_mean_K"], **data["T_std_K"])

            for instrument in data["resistances"]:
                res_instr = [
                    "{{{name}:.10E}} ".format(name=key)
                    for key in data["resistances"][instrument]
                ]
                for r in res_instr:
                    datastring += r
                datastring = datastring.format(**data["resistances"][instrument])

            for instrument in data["voltages"]:
                voltages = [
                    "{{{num}:.5E}} ".format(num=ct)
                    for ct, value in enumerate(data["voltages"][instrument])
                ]
                datastring += "{} ".format(len(voltages))
                for v in voltages:
                    datastring += v
                datastring = datastring.format(*data["voltages"][instrument])

            for instrument in data["currents"]:
                currents = [
                    "{{{num}:.5E}} ".format(num=ct)
                    for ct, value in enumerate(data["currents"][instrument])
                ]
                datastring += "{} ".format(len(currents))
                for v in currents:
                    datastring += v
                datastring = datastring.format(*data["currents"][instrument])

            datastring = "\n{ReadableTime} ".format(**data) + datastring
            # print(datastring)

            headerstring = """\
# Measurement started on {date}
#
#date,Sensor_1_(A)_[K]_arithmetic_mean,Sensor_1_(A)_[K]_uncertainty,Sensor_2_(B)_[K]_arithmetic_mean,Sensor_2_(B)_[K]_uncertainty,Sensor_3_(C)_[K]_arithmetic_mean,Sensor_3_(C)_[K]_uncertainty,Sensor_4_(D)_[K]_arithmetic_mean,Sensor_4_(D)_[K]_uncertainty,Keith1:_resistance_[Ohm]_(slope_of_4_points),Keith1:_residuals_(of_fit_for_slope),Keith1:_non-ohmicity:_0_if_ohmic_1_if_nonohmic,Keith2:_resistance_[Ohm]_(slope_of_4_points),Keith2:_residuals_(of_fit_for_slope),Keith2:_non-ohmicity:_0_if_ohmic_1_if_nonohmic,descr1,Keith1_voltage_1,Keith1_voltage_2,Keith1_voltage_3,Keith1_voltage_4,descr2,Keith2_voltage_1,Keith2_voltage_2,Keith2_voltage_3,Keith2_voltage_4,descr3,Keith1_current_1,Keith1_current_2,Keith1_current_3,Keith1_current_4,descr4,Keith2_current_1,Keith2_current_2,Keith2_current_3,Keith2_current_4,
# columns -1 based / zero based / one based
#
# -1 / 0 /  1 date
#
#   -- temperatures
#  0 /  1 /  2 Sensor 1 (A) [K] arithmetic mean
#  1 /  2 /  3 Sensor 1 (A) [K] uncertainty
#  2 /  3 /  4 Sensor 2 (B) [K] arithmetic mean
#  3 /  4 /  5 Sensor 2 (B) [K] uncertainty
#  4 /  5 /  6 Sensor 3 (C) [K] arithmetic mean
#  5 /  6 /  7 Sensor 3 (C) [K] uncertainty
#  6 /  7 /  8 Sensor 4 (D) [K] arithmetic mean
#  7 /  8 /  9 Sensor 4 (D) [K] uncertainty
#
#   -- resistances Keithley2182_1
#  8 /  9 / 10 resistance [Ohm] (slope of 4 points)
#  9 / 10 / 11 residuals (of fit for slope)
# 10 / 11 / 12 non-ohmicity: 0 if ohmic, 1 if nonohmic
#
#   -- resistances Keithley2182_2
# 11 / 12 / 13 resistance [Ohm] (slope of 4 points)
# 12 / 13 / 14 residuals (of fit for slope)
# 13 / 14 / 15 non-ohmicity: 0 if ohmic, 1 if nonohmic
#
#   the following numbers only apply if the number of points for the iv-fit is 4

#   -- voltages Keithley2182_1
# 14 / 15 / 16 number of voltages
# 15 / 16 / 17 voltage 1
# 16 / 17 / 18 voltage 2
# 17 / 18 / 19 voltage 3
# 18 / 19 / 20 voltage 4

#   -- voltages Keithley2182_2
# 19 / 20 / 21 number of voltages
# 20 / 21 / 22 voltage 1
# 21 / 22 / 23 voltage 2
# 22 / 23 / 24 voltage 3
# 23 / 24 / 25 voltage 4

#   -- currents Keithley6221_1
# 24 / 25 / 26 number of currents
# 25 / 26 / 27 current 1
# 26 / 27 / 28 current 2
# 27 / 28 / 29 current 3
# 28 / 29 / 30 current 4

#   -- currents Keithley6221_2
# 29 / 30 / 31 number of currents
# 30 / 31 / 32 current 1
# 31 / 32 / 33 current 2
# 32 / 33 / 34 current 3
# 33 / 34 / 35 current 4
# 34 / 35 / 36 unused
# 35 / 36 / 37 unused
# 36 / 37 / 38 unused
# 37 / 38 / 39 unused
# 38 / 39 / 40 unused
# 39 / 40 / 41 unused
# 40 / 41 / 42 unused
# 41 / 42 / 43 unused
# 42 / 43 / 44 unused
# 43 / 44 / 45 unused
# 44 / 45 / 46 unused
# 45 / 46 / 47 unused
# 46 / 47 / 48 unused
# 47 / 48 / 49 unused
# 48 / 49 / 50 unused
# 49 / 50 / 51 unused
# 50 / 51 / 52 unused
# 51 / 52 / 53 unused
# 52 / 53 / 54 unused
# 53 / 54 / 55 unused
# 54 / 55 / 56 unused
# 55 / 56 / 57 unused
# 56 / 57 / 58 unused
# 57 / 58 / 59 unused
# 58 / 59 / 60 unused
# 59 / 60 / 61 unused
# 60 / 61 / 62 unused
# 61 / 62 / 63 unused
# 62 / 63 / 64 unused
# 63 / 64 / 65 unused
# 64 / 65 / 66 unused
# 65 / 66 / 67 unused
# 66 / 67 / 68 unused
# 67 / 68 / 69 unused
#68 /
""".format(
                date=convert_time(self.starttime)
            )

        else:
            datastring = "\n {T_mean_K:.3E} {T_std_K:.3E} {R_mean_Ohm:.14E} {R_std_Ohm:.14E} {timeseconds} {ReadableTime}".format(
                **data
            )
            headerstring = str(
                "# Measurement started on {date} \n".format(
                    date=convert_time(self.starttime)
                )
                + "# temp_sample [K], T_std [K], resistance [Ohm], R_std [Ohm], time [s], date \n"
            )

        if os.path.isfile(data["datafile"]):
            try:
                with open(data["datafile"], "a") as f:
                    f.write(datastring)
            except IOError as err:
                self.sig_assertion.emit("DataSaver: " + err.args[0])
        else:
            try:
                with open(data["datafile"], "w") as f:
                    f.write(headerstring)
                    f.write(datastring)
            except IOError as err:
                self.sig_assertion.emit("DataSaver: " + err.args[0])
コード例 #34
0
ファイル: list_items.py プロジェクト: SergeyDjam/toxygen
    def __init__(self,
                 file_name,
                 size,
                 time,
                 user,
                 friend_number,
                 file_number,
                 state,
                 parent=None):

        QtGui.QListWidget.__init__(self, parent)
        self.resize(QtCore.QSize(620, 50))
        if state != FILE_TRANSFER_MESSAGE_STATUS['CANCELLED']:
            self.setStyleSheet('QWidget { background-color: green; }')
        else:
            self.setStyleSheet('QWidget { background-color: #B40404; }')

        self.name = DataLabel(self)
        self.name.setGeometry(QtCore.QRect(1, 15, 95, 20))
        self.name.setTextFormat(QtCore.Qt.PlainText)
        font = QtGui.QFont()
        font.setFamily("Times New Roman")
        font.setPointSize(11)
        font.setBold(True)
        self.name.setFont(font)
        self.name.setText(user)
        self.name.setStyleSheet('QLabel { color: black; }')

        self.time = QtGui.QLabel(self)
        self.time.setGeometry(QtCore.QRect(570, 2, 50, 46))
        font.setPointSize(10)
        font.setBold(False)
        self.time.setFont(font)
        self.time.setText(convert_time(time))
        self.time.setStyleSheet('QLabel { color: black; }')

        self.cancel = QtGui.QPushButton(self)
        self.cancel.setGeometry(QtCore.QRect(500, 2, 46, 46))
        pixmap = QtGui.QPixmap(curr_directory() + '/images/decline.png')
        icon = QtGui.QIcon(pixmap)
        self.cancel.setIcon(icon)
        self.cancel.setIconSize(QtCore.QSize(30, 30))
        self.cancel.setVisible(state > 1)
        self.cancel.clicked.connect(
            lambda: self.cancel_transfer(friend_number, file_number))
        self.cancel.setStyleSheet(
            'QPushButton:hover { border: 1px solid #3A3939; }')

        self.accept = QtGui.QPushButton(self)
        self.accept.setGeometry(QtCore.QRect(450, 2, 46, 46))
        pixmap = QtGui.QPixmap(curr_directory() + '/images/accept.png')
        icon = QtGui.QIcon(pixmap)
        self.accept.setIcon(icon)
        self.accept.setIconSize(QtCore.QSize(30, 30))
        self.accept.clicked.connect(
            lambda: self.accept_transfer(friend_number, file_number, size))
        self.accept.setVisible(
            state == FILE_TRANSFER_MESSAGE_STATUS['INCOMING_NOT_STARTED'])
        self.accept.setStyleSheet(
            'QPushButton:hover { border: 1px solid #3A3939; }')

        self.pb = QtGui.QProgressBar(self)
        self.pb.setGeometry(QtCore.QRect(100, 15, 100, 20))
        self.pb.setValue(0)
        self.pb.setStyleSheet('QProgressBar { background-color: #302F2F; }')
        if state < 2:
            self.pb.setVisible(False)

        self.file_name = DataLabel(self)
        self.file_name.setGeometry(QtCore.QRect(210, 2, 230, 46))
        font.setPointSize(12)
        self.file_name.setFont(font)
        file_size = size / 1024
        if not file_size:
            file_size = '{}B'.format(size)
        elif file_size >= 1024:
            file_size = '{}MB'.format(file_size / 1024)
        else:
            file_size = '{}KB'.format(file_size)
        file_data = u'{} {}'.format(file_size, file_name)
        self.file_name.setText(file_data)
        self.file_name.setStyleSheet('QLabel { color: black; }')
        self.saved_name = file_name