Beispiel #1
0
class Tool:
    def __init__(self):
        self.logger = MyLogger().getLogger();
        self.logger.info('Tool class initial ')
        self.exist = True
        self.args = self.arg_parse()

    def arg_parse(self):
        """

        :rtype: object
        """
        parser = argparse.ArgumentParser()
        parser.add_argument('--host',dest='hostname')
        parser.add_argument('-u','--user',dest='user')
        parser.add_argument('-c','--command',dest='command')
        parser.add_argument('-k','--key',dest='key')
        return parser.parse_args()


    def jdk_exist(self):
        if self.exist:
            print('jdk exits')
        else:
            print('jdk not exits ')
Beispiel #2
0
 def OnMouseEvent(self, event):
     MyLogger.info(event)
     # 登録されているコールバックを呼び出す
     if self.isMouseEventProcessing == False:
         self.isMouseEventProcessing = True
         for frame in self.frames.values():
             if frame['OnMouseEvent']:
                 frame['OnMouseEvent'](event)
         self.isMouseEventProcessing = False
Beispiel #3
0
 def OnKeyEvent(self, event):
     MyLogger.info(event)
     # Ctrl+数字ならフレームの表示をトグル
     if event.keysym.isdecimal() and len(
             self.idtable) > int(event.keysym) - 1:
         self.__ToggleFrameVisibility(self.idtable[int(event.keysym) - 1])
     # 登録されているコールバックを呼び出す
     if self.isKeyEventProcessing == False:
         self.isKeyEventProcessing = True
         for frame in self.frames.values():
             if frame['OnKeyEvent']:
                 frame['OnKeyEvent'](event)
         self.isKeyEventProcessing = False
Beispiel #4
0
 def DBInitialize(self):
     # ファイル/フォルダがなければ作成
     if not os.path.exists(os.path.dirname(self.datapath)):
         os.makedirs(os.path.dirname(self.datapath))
     if not os.path.exists(self.datapath):
         pd.DataFrame(
             columns=['timestamp/date', 'timestamp/time']).to_excel(
                 self.datapath, index=False)
         # pd.DataFrame().to_excel(self.datapath, index=False)
         MyLogger.info(self.datapath, ' is initialized')
     # DataFrame読み込み
     self.DBRead()
     # Timestamp用の列がなければ追加してファイル更新
     if not 'timestamp/date' in self.df and not 'timestamp/time' in self.df:
         dt = datetime.datetime.now()
         self.df.insert(0, 'timestamp/date', dt.strftime("%Y/%m/%d"))
         self.df.insert(1, 'timestamp/time', dt.strftime('%X'))
         self.DBWrite()
Beispiel #5
0
class AutoD:
    def __init__(self, host, comms, key, user, ):

        self.logger = MyLogger().getLogger();
        self.logger.info('AutoD initial beginning~~~')
        self.tool = Tool()

        self.host = host
        self.comms = comms
        if not key:
            self.child = run('ssh {0}@{1}'.format(user, host))
        else:
            self.child = run('ssh -i {0} {1}@{2}'.format(key, user, host))

    def destroyed(self):
        self.logger.info('Destoryed the ssh login ~~~ ')
        self.child.close(force=True)

    def exec_command(self):
        self.logger.info('AutoD.exec_command ')
        self.tool.jdk_exist()
        print('command is {}'.format(self.comms))
                record["jobType"] = jobType
                record["jobDescriptionPath"] = jobDescriptionPath
                record["jobDescription"] = jobDescription
                record["jobTime"] = jobTime
                record["endpoints"] = endpoints
                record["jobParams"] = jobParams
                record["errorMsg"] = errorMsg
                record["jobMeta"] = jobMeta
                ret.append(record)
        except Exception, e:
            logger.error('Exception: ' + str(e))
            pass
        cursor.close()
        elapsed = timeit.default_timer() - start_time
        logger.info(
            "DataHandler: get job list for user %s , time elapsed %f s (SQL query time: %f)"
            % (userName, elapsed, elapsed1))
        return ret

    def GetJob(self, **kwargs):
        start_time = timeit.default_timer()
        valid_keys = [
            "jobId", "familyToken", "isParent", "jobName", "userName",
            "jobStatus", "jobType", "jobTime"
        ]
        if len(kwargs) != 1: return []
        key, expected = kwargs.popitem()
        if key not in valid_keys:
            logger.error(
                "DataHandler_GetJob: key is not in valid keys list...")
            return []
    def GetJobTextField(self, jobId, field):
        start_time = timeit.default_timer()
        cursor = self.conn.cursor()
        query = "SELECT [jobId], [%s] FROM [%s] where [jobId] = '%s' " % (
            field, self.jobtablename, jobId)
        ret = None
        try:
            cursor.execute(query)
            for (jobId, value) in cursor:
                ret = value
        except Exception, e:
            logger.error('Exception: ' + str(e))
            pass
        cursor.close()
        elapsed = timeit.default_timer() - start_time
        logger.info("DataHandler: get filed %s of job %s , time elapsed %f s" %
                    (field, jobId, elapsed))
        return ret

    def AddandGetJobRetries(self, jobId):
        start_time = timeit.default_timer()
        sql = """update [%s] set [retries] = [retries] + 1 where [jobId] = '%s' """ % (
            self.jobtablename, jobId)
        cursor = self.conn.cursor()
        cursor.execute(sql)
        self.conn.commit()
        cursor.close()

        cursor = self.conn.cursor()
        query = "SELECT [jobId], [retries] FROM [%s] where [jobId] = '%s' " % (
            self.jobtablename, jobId)
        cursor.execute(query)
def handleM4A(path):
    # ./GENRE/Compilations/ARTIST/ALBUM/SONG.m4a
    temp = path.replace("\\", "/")
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    song = temp[temp.rfind("/") + 1:]
    song = jaconv.z2h(song, kana=False, digit=True, ascii=True)
    song = jaconv.h2z(song, kana=True, digit=False, ascii=False)
    temp = temp[:temp.rfind("/")]
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    album = temp[temp.rfind("/") + 1:]
    album = jaconv.z2h(album, kana=False, digit=True, ascii=True)
    album = jaconv.h2z(album, kana=True, digit=False, ascii=False)
    temp = temp[:temp.rfind("/")]
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    artist = temp[temp.rfind("/") + 1:]
    artist = jaconv.z2h(artist, kana=False, digit=True, ascii=True)
    artist = jaconv.h2z(artist, kana=True, digit=False, ascii=False)
    temp = temp[:temp.rfind("/")]
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    genre = temp[temp.rfind("/") + 1:]
    genre = jaconv.z2h(genre, kana=False, digit=True, ascii=True)
    genre = jaconv.h2z(genre, kana=True, digit=False, ascii=False)
    temp = temp[:temp.rfind("/")]
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    # take artist as Compilations
    category = temp[temp.rfind("/") + 1:]
    temp = temp[:temp.rfind("/")]
    if category == "__02_Compilations__":
        artist = "__Compilations__"
    elif category == "__01_Favorites__":
        pass
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    mp4 = MP4(path)
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    MyLogger.info(path)
    mp4.tags[TRACK_TITLE] = song
    mp4.tags[ALBUM] = album
    mp4.tags[ALBUM_ARTIST] = artist
    mp4.tags[ALBUM_SORT_ORDER] = conv.do(album)
    mp4.tags[ARTIST] = artist
    mp4.tags[ARTIST_SORT_ORDER] = conv.do(artist)
    mp4.tags[GENRE] = genre
    MyLogger.info("mp4.tags[TRACK_TITLE]", str(mp4.tags[TRACK_TITLE]))
    MyLogger.info("mp4.tags[ALBUM]", str(mp4.tags[ALBUM]))
    MyLogger.info("mp4.tags[ALBUM_ARTIST]", str(mp4.tags[ALBUM_ARTIST]))
    MyLogger.info("mp4.tags[ALBUM_SORT_ORDER]",
                  str(mp4.tags[ALBUM_SORT_ORDER]))
    MyLogger.info("mp4.tags[ARTIST]", str(mp4.tags[ARTIST]))
    MyLogger.info("mp4.tags[ARTIST_SORT_ORDER]",
                  str(mp4.tags[ARTIST_SORT_ORDER]))
    MyLogger.info("mp4.tags[GENRE]", str(mp4.tags[GENRE]))