def send_message(self, message, message_key, asset=None, file=None, quote=None, message_type=defaults._chat_conversation_, destination=defaults._chat_general_, user=prefs.user): if self.is_server and self.running: message_dic = dict() message_dic[defaults._chat_type_] = message_type message_dic[defaults._chat_user_] = user message_dic[defaults._chat_project_] = prefs.project_name message_dic[defaults._chat_message_] = message message_dic[defaults._chat_date_] = utils.id_based_time() message_dic[defaults._chat_destination_] = destination message_dic[defaults._chat_asset_] = asset message_dic[defaults._chat_file_] = file message_dic[defaults._chat_key_] = message_key message_dic[defaults._chat_quote_] = quote message_bytes = yaml.dump(message_dic).encode('utf8') self.server.send(message_bytes) return message_dic else: return None
def create_ticket(self, asset, message, adress): string_asset = utils.variant_asset_to_string(asset) user = prefs.user date = utils.get_gmtime() ticket_dic = dict() ticket_dic[defaults._creation_user_key_] = user ticket_dic[defaults._creation_date_key_] = date ticket_dic[defaults._asset_key_] = string_asset ticket_dic[defaults._message_key_] = message ticket_dic[defaults._ticket_state_] = defaults._ticket_open_ ticket_dic[defaults._ticket_adress_] = adress ticket_dic[defaults._close_date_] = None ticket_dic[defaults._ticket_comment_] = None ticket_dic[defaults._ticket_close_user_] = None key = utils.id_based_time() self.settings[defaults._all_tickets_][key] = ticket_dic if string_asset not in self.settings[defaults._assets_tickets_].keys(): self.settings[defaults._assets_tickets_][string_asset] = [] self.settings[defaults._assets_tickets_][string_asset].append(key) if user not in self.settings[defaults._user_tickets_].keys(): self.settings[defaults._user_tickets_][user] = [] self.settings[defaults._user_tickets_][user].append(key) if adress not in self.settings[defaults._adress_tickets_].keys(): self.settings[defaults._adress_tickets_][adress] = [] self.settings[defaults._adress_tickets_][adress].append(key) self.write() wall().ticket_event(asset, adress)
def create_room(self, room_name): if self.chat_archives.create_room(room_name): #self.add_room(room_name) self.client_thread.new_room_signal(room_name) time.sleep(0.1) message_key = utils.id_based_time() message_dic = self.client_thread.send_info("{} created the room {}".format(prefs.user, room_name), message_key=message_key, destination=room_name) self.archive_thread.archive_message(message_key, message_dic)
def send_msg(self, message_list): if message_list[1]: file = self.chat_archives.add_file_to_shared(message_list[1]) else: file = None message_key = utils.id_based_time() message_dic = self.client_thread.send_message(message_list[0], message_key = message_key, file = file, quote=message_list[2], destination = message_list[-1]) if message_dic and message_dic[defaults._chat_message_] != defaults._chat_wizz_: self.archive_thread.archive_message(message_key, message_dic)
def add_message(self, message_dic): key = util.id_based_time() try: self.history[key] = message_dic self.dump_count += 1 if self.dump_count >= self.dump_breakpoint: self.write_chat_file() except: logger.critical(str(traceback.format_exc()))
def close_ticket_event(self, asset, creator): if asset.stage: message = 'closed a ticket from {} about {} - {} - {} - {} - {}'.format(creator, asset.domain, asset.category, asset.name, asset.stage, asset.variant) id = defaults._wall_close_ticket_event_ key = util.id_based_time() if asset.name: prefs.asset(asset).add_event(key) prefs.add_event(key) self.event(message, id, key, asset)
def playblast_event(self, asset): if asset.stage: message = 'playblasted {} - {} - {} - {} - {}'.format(asset.domain, asset.category, asset.name, asset.stage, asset.variant) id = defaults._wall_playblast_event_ key = util.id_based_time() if asset.name: prefs.asset(asset).add_event(key) prefs.add_event(key) self.event(message, id, key, asset)
def ticket_event(self, asset, adress): if asset.stage: message = 'adressed a ticket to {} about {} - {} - {} - {} - {}'.format(adress, asset.domain, asset.category, asset.name, asset.stage, asset.variant) id = defaults._wall_ticket_event_ key = util.id_based_time() if asset.name: prefs.asset(asset).add_event(key) prefs.add_event(key) self.event(message, id, key, asset)
def publish_event(self, asset): if asset.stage: message = 'published {} - {} - {} - {} - {} | version : {}'.format(asset.domain, asset.category, asset.name, asset.stage, asset.variant, asset.export_version) id = defaults._wall_publish_event_ key = util.id_based_time() if asset.name: prefs.asset(asset).add_event(key) prefs.add_event(key) self.event(message, id, key, asset)
def trash(self): # Get the archive ".zip" file using the project_path # And using the "os" python module # And usign the "defaults" wizard module # And using the "utility" wizard module to get the name of the file ( based on the "time" python module ) trash_file = os.path.join(self.asset.project, defaults._trash_folder_, util.id_based_time() + '.zip') # Return the file return trash_file
def remove_event(self, asset): if asset.category and not asset.name: message = 'removed {} - {}'.format(asset.domain, asset.category) elif asset.name and not asset.stage: message = 'removed {} - {} - {}'.format(asset.domain, asset.category, asset.name) elif asset.stage: message = 'removed {} - {} - {} - {} - {}'.format(asset.domain, asset.category, asset.name, asset.stage, asset.variant) id = defaults._wall_remove_event_ key = util.id_based_time() if asset.name: prefs.asset(asset).add_event(key) prefs.add_event(key) self.event(message, id, key, asset)
def add_joke(self, joke): time_id = util.id_based_time() joke_dic = dict() joke_dic[defaults._creation_date_key_] = time_id joke_dic[defaults._joke_data_] = joke joke_dic[defaults._creation_user_key_] = prefs.user joke_dic[defaults._note_key_] = 0 joke_dic[defaults._notes_list_key_] = [] joke_dic[defaults._users_jury_list_key_] = [] self.settings[time_id] = joke_dic self.write() email.send_joke(prefs.user, joke) logger.info('Joke successfully added !') return time_id
def send_info(self, message, message_key, user=prefs.user, destination=defaults._chat_general_): if self.is_server and self.running: message_dic = dict() message_dic[defaults._chat_type_] = defaults._chat_info_ message_dic[defaults._chat_user_] = user message_dic[defaults._chat_project_] = prefs.project_name message_dic[defaults._chat_message_] = message message_dic[defaults._chat_date_] = utils.id_based_time() message_dic[defaults._chat_destination_] = destination message_dic[defaults._chat_key_] = message_key message_bytes = yaml.dump(message_dic).encode('utf8') self.server.send(message_bytes) return message_dic else: return None
def __init__(self, date): super(date_widget, self).__init__() ts = float(date) # if you encounter a "year is out of range" error the timestamp # may be in milliseconds, try `ts /= 1000` in that case hour = datetime.utcfromtimestamp(ts).strftime('%H:%M') day = datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d') today = datetime.utcfromtimestamp(float( utils.id_based_time())).strftime('%Y-%m-%d') if day == today: text = hour else: text = '{} - {}'.format(day, hour) self.setText(text) self.setAlignment(QtCore.Qt.AlignHCenter | QtCore.Qt.AlignVCenter) self.setMargin(5) self.setStyleSheet("color:gray;")
def xp_event(self, level): message = 'has reached level {} !'.format(str(level)) id = defaults._wall_xp_event_ key = util.id_based_time() prefs.add_event(key) self.event(message, id, key)
def add_file(self, base_file): extension = os.path.splitext(base_file)[1] file = '{}{}'.format(utils.id_based_time(), extension) file_name = os.path.join(self.shared_folder, file) shutil.copy(base_file, file_name) return file_name