예제 #1
0
    def __release(self):
        try:
            json = globalVars.lampController.makeData()
            json["operation"] = "release"
            rp = requests.post(constants.API_SOFTWAREMANAGE_URL,
                               json=json,
                               timeout=30)
            j = rp.json()
            if j["code"] == 200: release = True
            else: release = False
        except Exception as e:
            self.log.error(str(e))
            release = False

        if release:
            globalVars.app.config["network"]["user_name"] = ""
            globalVars.app.config["network"]["software_key"] = ""
            d = mkDialog.Dialog("entry success dialog")
            d.Initialize(_("完了"), _("このLAMPの登録を解除しました。"), ["OK"], False)
            fxManager.confirm()
            d.Show()
            return True
        else:
            d = mkDialog.Dialog("invalidDisplayNameDialog")
            d.Initialize(_("通信失敗"),
                         _("LAMPの登録を解除できませんでした。\nネットワーク接続などを確認してください。"),
                         ["OK"], False)
            fxManager.error()
            d.Show()
            return False
예제 #2
0
def show():
    log = getLogger("%s.NetController" % (constants.LOG_PREFIX, ))
    try:
        responseObject = requests.post(
            constants.API_SOFTWAREMANAGE_URL,
            json=globalVars.lampController.makeData(),
            timeout=5)
        responseObject.encoding = "utf-8"
        resJson = responseObject.json()
        if (resJson["code"] == 200
                and resJson["displayName"]) or (resJson["code"] == 400
                                                and resJson["reason"]):
            pass
    except Exception as e:
        log.error(str(e))
        resJson = False

    if resJson != False and resJson["code"] == 400:
        d = Dialog("networkController")
        d.Initialize()
        return d.Show()
    elif resJson != False and resJson["code"] == 200:
        d = Dialog("networkController")
        d.Initialize(True, resJson)
        return d.Show()
    else:
        d = mkDialog.Dialog("connectionFaildDialog")
        d.Initialize(_("通信失敗"), _("登録状況の確認に失敗しました。\nネットワーク接続などを確認してください。"),
                     ["OK"], False)
        fxManager.error()
        d.Show()
        return wx.ID_CANCEL
예제 #3
0
def run(errorList, notFoundList):
    if globalVars.app.config.getboolean("notification", "ignoreError", True):
        return
    d = Dialog("loadErrorDialog")
    d.Initialize(errorList, notFoundList)
    fxManager.error()
    return d.Show()
예제 #4
0
 def playError(self):
     # 再生エラーの処理
     if globalVars.app.config.getboolean("notification", "ignoreError", True): return 0
     fxManager.error()
     d = mkDialog.Dialog("playErrorDialog")
     d.Initialize(_("再生時エラー"), _("このファイルは再生できません。"), (_("継続"),_("停止")), sound=False)
     return d.Show()
예제 #5
0
def loadM3u(path=None, playlist=2):
    rtn = []  #ファイルパスリスト
    f = False  #ファイル
    if path == None:
        fd = wx.FileDialog(None,
                           _("プレイリストファイル選択"),
                           wildcard=_("プレイリストファイル (.m3u8/.m3u)") +
                           "|*.m3u8*;*.m3u")
        c = fd.ShowModal()
        if c == wx.ID_CANCEL: return rtn
        path = fd.GetPath()
    if os.path.isfile(path) and os.path.splitext(path)[1] == ".m3u":
        f = open(path, "r", encoding="shift-jis")
    elif os.path.isfile(path) and os.path.splitext(path)[1] == ".m3u8":
        f = open(path, "r", encoding="utf-8")
    if f != False:  #ファイルの読み込み
        for s in f.readlines():
            s = s.strip()
            if os.path.isfile(s):
                rtn.append(s)
        f.close()
    else:
        ed = mkDialog.Dialog("m3uLoadErrorDialog")
        ed.Initialize(_("読み込みエラー"),
                      _("プレイリストファイルの読み込みに失敗しました。"), ("OK", ),
                      sound=False)
        fxManager.error()
        return ed.Show()
    if playlist == 2:  #REPLACE
        if closeM3u() == False: return rtn  #closeがキャンセルされたら中止
        listManager.addItems(rtn, globalVars.app.hMainView.playlistView)
        globalVars.listInfo.playlistFile = path
        globalVars.m3uHistory.add(path)
        globalVars.app.hMainView.menu.hFileMenu.Enable(
            menuItemsStore.getRef("M3U_OPEN"), True)
        globalVars.app.hMainView.menu.hFileMenu.Enable(
            menuItemsStore.getRef("M3U_CLOSE"), True)
    elif playlist == 1:  #ADD
        listManager.addItems(rtn, globalVars.app.hMainView.playlistView)
        globalVars.listInfo.playlistFile = path
        globalVars.m3uHistory.add(path)
    if os.path.splitext(globalVars.listInfo.playlistFile)[1] == ".m3u":
        if playlist == 2:
            globalVars.app.hMainView.menu.hFileMenu.SetLabel(
                menuItemsStore.getRef("M3U8_SAVE"), _("UTF-8プレイリストに変換"))
            globalVars.app.hMainView.menu.hFileMenu.Enable(
                menuItemsStore.getRef("M3U8_SAVE"), True)
            globalVars.app.hMainView.menu.hPlaylistMenu.Enable(
                menuItemsStore.getRef("SET_STARTUPLIST"), True)
    elif os.path.splitext(globalVars.listInfo.playlistFile)[1] == ".m3u8":
        if playlist == 2:
            globalVars.app.hMainView.menu.hFileMenu.SetLabel(
                menuItemsStore.getRef("M3U8_SAVE"), _("プレイリストを上書き保存"))
            globalVars.app.hMainView.menu.hFileMenu.Enable(
                menuItemsStore.getRef("M3U8_SAVE"), True)
            globalVars.app.hMainView.menu.hPlaylistMenu.Enable(
                menuItemsStore.getRef("SET_STARTUPLIST"), True)
    return rtn
예제 #6
0
    def onOkBtn(self, evt):
        if len(self.GetData()) == 0:
            d = mkDialog.Dialog("fileType_notSelected")
            d.Initialize(_("エラー"),
                         _("1つ以上のファイル形式を選択してください。"), ("OK", ),
                         sound=False)
            fxManager.error()
            d.Show()

        else:
            self.wnd.EndModal(wx.ID_OK)
예제 #7
0
 def __update(self):
     idx = self.listCtrl.GetFirstSelected()
     name = self.listCtrl.GetItemText(idx, 0)
     path = self.listCtrl.GetItemText(idx, 1)
     if not os.path.isdir(path):
         d = mkDialog.Dialog("directoryError")
         d.Initialize(_("エラー"), _("場所が利用できません。フォルダを確認してください。"), ["OK"], False)
         fxManager.error()
         return d.Show()
     d = netFileSend("netFileSendView")
     d.Initialize(path, name)
     d.Show()
     self.listCtrl.SetFocus()
예제 #8
0
def run():
    f = globalVars.listInfo.playlistFile
    if f != None and os.path.exists(f):
        globalVars.app.config["player"]["startupPlaylist"] = f
        d = mkDialog.Dialog("set startup playlist ok")
        d.Initialize(_("設定完了"),
                     _("起動時に開くプレイリストに設定しました。\n%s") % (f, ), ("OK", ),
                     sound=False)
        fxManager.confirm()
        d.Show()
    else:
        d = mkDialog.Dialog("set startup playlist error")
        d.Initialize(_("エラー"), _("設定に失敗しました。"), ("OK", ), sound=False)
        fxManager.error()
        d.Show()
예제 #9
0
 def onButtonClick(self, evt):
     if os.path.exists(self.GetData())==False and self.type != 2: #URI以外のファイルパスエラー
         d = mkDialog.Dialog("pathErrorDialog")
         d.Initialize(_("パスエラー"), _("入力されたパスは存在しません。"),("OK",), sound=False)
         fxManager.error()
         d.Show()
         return None
     elif re.search("https?://.+\..+", self.GetData()) == None and self.type == 2: #URLエラー
         d = mkDialog.Dialog("urlErrorDialog")
         d.Initialize(_("パスエラー"), _("入力されたURLに問題があります。"),("OK",), sound=False)
         fxManager.error()
         d.Show()
         return None
     if evt.GetEventObject()==self.playlistBtn:
         code = self.PLAYLIST
     elif evt.GetEventObject()==self.queueBtn:
         code = self.QUEUE
     self.wnd.EndModal(code)
예제 #10
0
 def onButtonClick(self, evt):
     eo = evt.GetEventObject()
     if eo == self.bBrowse:
         d = wx.DirDialog(self.wnd)
         if d.ShowModal() == wx.ID_CANCEL: return
         else: self.path.SetValue(d.GetPath())
     elif eo == self.bOk:
         netDirLower = []
         for k in globalVars.lampController.netDirDict:
             netDirLower.append(k.lower())
         if self.name.GetValue().lower() in netDirLower:
             d = mkDialog.Dialog("alreadyEnteredError")
             d.Initialize(_("エラー"), _("この名前は、すでに使用されています。"), ["OK"], False)
             fxManager.error()
             d.Show()
         elif not os.path.exists(self.path.GetValue()):
             d = mkDialog.Dialog("pathNotFoundError")
             d.Initialize(_("エラー"), _("指定された場所が存在しません。"), ["OK"], False)
             fxManager.error()
             d.Show()
         else: self.Destroy()
예제 #11
0
def assocDialog():
    d = dialog("fileAssocDialog")
    d.Initialize()
    r = d.Show()
    if r == wx.ID_OK:
        l = d.GetValue()
        for s in l:
            if not fileAssocUtil.setAssoc(s, "lamp.audio"):
                e = mkDialog.Dialog("fileAssocError")
                e.Initialize(_("エラー"),
                             _("ファイル関連付け情報の書き込みに失敗しました。"), ("OK", ),
                             sound=False)
                fxManager.error()
                e.Show()
                return
        nd = mkDialog.Dialog("fileAssocOk")
        nd.Initialize(
            _("拡張子関連付け完了"),
            _("ファイルの関連付け情報を書き込みました。\nファイルのコンテキストメニュー内、\n[プログラムから開く] > [別のプログラムを選択]\nに表示されます。"
              ), ("OK", ),
            sound=False)
        fxManager.confirm()
        nd.Show()
    elif r == UNSET:
        if fileAssocUtil.unsetAssoc("lamp.audio"):
            nd = mkDialog.Dialog("unsetFileAssocOk")
            nd.Initialize(_("関連付け解除完了"),
                          _("ファイルの関連付けを解除しました。"), ("OK", ),
                          sound=False)
            fxManager.confirm()
            nd.Show()
        else:
            e = mkDialog.Dialog("unsetFileAssocError")
            e.Initialize(_("エラー"),
                         _("ファイルの関連付けを解除できませんでした。"), ("OK", ),
                         sound=False)
            fxManager.error()
            e.Show()
예제 #12
0
 def __entry(self):
     obj = {
         "authentication": {
             "userName": self.userName.GetValue(),
             "password": self.password.GetValue()
         },
         "software": {
             "driveSerialNo":
             win32api.GetVolumeInformation(os.environ["SystemRoot"][:3])[1],
             "pcName":
             os.environ["COMPUTERNAME"],
             "displayName":
             self.displayName.GetValue()
         },
         "apiVersion": constants.API_VERSION
     }
     try:
         rp = requests.post(constants.API_SOFTWAREENTRY_URL, json=obj)
         j = rp.json()
         if j["code"] == 200:
             globalVars.app.config["network"][
                 "user_name"] = self.userName.GetValue()
             globalVars.app.config["network"]["software_key"] = j[
                 "softwareKey"]
             d = mkDialog.Dialog("entry success dialog")
             if j["status"] == "success":
                 d.Initialize(_("登録完了"),
                              _("このLAMPは、LAMP Controllerに登録されました。"), ["OK"],
                              False)
             else:
                 d.Initialize(
                     _("登録完了"),
                     _("登録を更新しました。このLAMPは、LAMP Controllerで使用可能です。"), ["OK"],
                     False)
             fxManager.confirm()
             d.Show()
             return True
         elif j["code"] == 400 and j["reason"] == "invalid display name":
             d = mkDialog.Dialog("invalidDisplayNameDialog")
             d.Initialize(_("登録失敗"), _("LAMPの名前は、1文字以上、30文字以内で指定してください。"),
                          ["OK"], False)
             fxManager.error()
             d.Show()
             return False
         elif j["code"] == 400 and j["reason"] == "already entered":
             d = mkDialog.Dialog("invalidDisplayNameDialog")
             d.Initialize(_("登録失敗"), _("このLAMPは、すでに登録されています。"), ["OK"],
                          False)
             fxManager.error()
             d.Show()
             return False
         elif j["code"] == 400 and j["reason"] == "authentication faild":
             d = mkDialog.Dialog("authErrorDialog")
             d.Initialize(_("認証失敗"), _("ユーザー名、またはパスワードが謝っています。"), ["OK"],
                          False)
             fxManager.error()
             d.Show()
             return False
         else:
             d = mkDialog.Dialog("entryErrorDialog")
             d.Initialize(_("登録失敗"),
                          _("LAMPの登録に失敗しました。ネットワーク接続などを確認してください。"), ["OK"],
                          False)
             fxManager.error()
             d.Show()
             return False
     except Exception as e:
         self.log.error(str(e))
         d = mkDialog.Dialog("entryErrorDialog")
         d.Initialize(_("登録失敗"), _("LAMPの登録に失敗しました。ネットワーク接続などを確認してください。"),
                      ["OK"], False)
         fxManager.error()
         d.Show()
         return False
예제 #13
0
 def errorDialog(self, message):
     d = mkDialog.Dialog("sleepTimerErrorDialog")
     d.Initialize(_("エラー"), message, (_("やり直す"),), sound=False)
     fxManager.error()
     d.Show()
예제 #14
0
 def error(self, message):
     d = mkDialog.Dialog("netFileError")
     d.Initialize(_("エラー"), message, ["OK"], False)
     fxManager.error()
     d.Show()
예제 #15
0
def _error(message):
    fxManager.error()
    d = mkDialog.Dialog("sendToErrorDialog")
    d.Initialize(_("エラー"), message, ("OK",), sound=False)
    d.Show()