コード例 #1
0
ファイル: sync.py プロジェクト: dper/anki
 def __init__(self, col, hkey, con):
     HttpSyncer.__init__(self, hkey, con)
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s"%(anki.version, platDesc()),
     )
     self.col = col
コード例 #2
0
ファイル: sync.py プロジェクト: xiaowenhuman/anki
 def __init__(self, col, hkey, client, hostNum) -> None:
     HttpSyncer.__init__(self, hkey, client, hostNum=hostNum)
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s" % (anki.version, platDesc()),
     )
     self.col = col.weakref()
コード例 #3
0
ファイル: update.py プロジェクト: ankichinateam/AnkiChinaPC
 def _data(self):
     d = {"ver": versionWithBuild(),
          "os": platDesc(),
          "id": self.config['id'],
          "lm": self.config['lastMsg'],
          "crt": self.config['created']}
     return d
コード例 #4
0
ファイル: update.py プロジェクト: AgarwalPragy/anki
 def _data(self):
     d = {"ver": aqt.appVersion,
          "os": platDesc(),
          "id": self.config['id'],
          "lm": self.config['lastMsg'],
          "crt": self.config['created']}
     return d
コード例 #5
0
 def __init__(self, col, hkey, client):
     HttpSyncer.__init__(self, hkey, client)
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s" % (anki.version, platDesc()),
     )
     self.col = col
コード例 #6
0
 def __init__(self, col, hkey, client, hostNum):
     HttpSyncer.__init__(self, hkey, client, hostNum=hostNum)
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s" % (ANKI_VERSION, platDesc()),
     )
     self.col = col
コード例 #7
0
 def __init__(self, col, hkey, client, hostNum):
     super().__init__(self, hkey, client, hostNum=hostNum)
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s" % (anki.version, platDesc()),
     )
     self.col = col
コード例 #8
0
 def begin(self) -> Any:
     self.postVars = dict(k=self.hkey,
                          v="ankidesktop,%s,%s" %
                          (anki.version, platDesc()))
     ret = self._dataOnly(
         self.req("begin", io.BytesIO(json.dumps(dict()).encode("utf8"))))
     self.skey = ret["sk"]
     return ret
コード例 #9
0
ファイル: update.py プロジェクト: v-limc/anki
 def _data(self) -> Dict[str, Any]:
     return {
         "ver": versionWithBuild(),
         "os": platDesc(),
         "id": self.config["id"],
         "lm": self.config["lastMsg"],
         "crt": self.config["created"],
     }
コード例 #10
0
 def begin(self):
     self.postVars = dict(k=self.hkey,
                          v="ankidesktop,%s,%s" %
                          (ANKI_VERSION, platDesc()))
     ret = self._dataOnly(
         self.req("begin", io.BytesIO(json.dumps(dict()).encode("utf8"))))
     self.skey = ret['sk']
     return ret
コード例 #11
0
ファイル: sync.py プロジェクト: fenildf/libanki3
 def begin(self):
     self.postVars = dict(k=self.hkey,
                          v="ankidesktop,%s,%s" %
                          (anki.version, platDesc()))
     ret = self._dataOnly(
         json.loads(self.req("begin", StringIO(json.dumps(dict())))))
     self.skey = ret['sk']
     return ret
コード例 #12
0
ファイル: sync.py プロジェクト: chebee7i/anki
 def meta(self):
     ret = self.req(
         "meta", StringIO(json.dumps(dict(
             v=SYNC_VER, cv="ankidesktop,%s,%s"%(anki.version, platDesc())))),
         badAuthRaises=False)
     if not ret:
         # invalid auth
         return
     return json.loads(ret)
コード例 #13
0
 def meta(self):
     ret = self.req(
         "meta", StringIO(json.dumps(dict(
             v=SYNC_VER, cv="ankidesktop,%s,%s"%(anki.version, platDesc())))),
         badAuthRaises=False)
     if not ret:
         # invalid auth
         return
     return json.loads(ret)
コード例 #14
0
ファイル: sync.py プロジェクト: Stvad/anki
 def begin(self):
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s"%(anki.version, platDesc())
     )
     ret = self._dataOnly(self.req(
         "begin", io.BytesIO(json.dumps(dict()).encode("utf8"))))
     self.skey = ret['sk']
     return ret
コード例 #15
0
ファイル: sync.py プロジェクト: dper/anki
 def begin(self):
     self.postVars = dict(
         k=self.hkey,
         v="ankidesktop,%s,%s"%(anki.version, platDesc())
     )
     ret = self._dataOnly(json.loads(self.req(
         "begin", StringIO(json.dumps(dict())))))
     self.skey = ret['sk']
     return ret
コード例 #16
0
ファイル: update.py プロジェクト: zzzdeb/anki
 def _data(self):
     d = {
         "ver": versionWithBuild(),
         "os": platDesc(),
         "id": self.config["id"],
         "lm": self.config["lastMsg"],
         "crt": self.config["created"],
     }
     return d
コード例 #17
0
ファイル: update.py プロジェクト: panpan1991/Anki2.0
 def _data(self):
     d = {
         "ver": aqt.appVersion,
         "os": platDesc(),
         "id": self.config['id'],
         "lm": self.config['lastMsg'],
         "crt": self.config['created']
     }
     return d
コード例 #18
0
 def meta(self):
     self.postVars = dict(
         k=self.hkey,
         s=self.skey,
     )
     ret = self.req(
         "meta", io.BytesIO(json.dumps(dict(
             v=SYNC_VER, cv="ankidesktop,%s,%s"%(anki.version, platDesc()))).encode("utf8")),
         badAuthRaises=False)
     if not ret:
         # invalid auth
         return
     return json.loads(ret.decode("utf8"))
コード例 #19
0
ファイル: sync.py プロジェクト: Stvad/anki
 def meta(self):
     self.postVars = dict(
         k=self.hkey,
         s=self.skey,
     )
     ret = self.req(
         "meta", io.BytesIO(json.dumps(dict(
             v=SYNC_VER, cv="ankidesktop,%s,%s"%(anki.version, platDesc()))).encode("utf8")),
         badAuthRaises=False)
     if not ret:
         # invalid auth
         return
     return json.loads(ret.decode("utf8"))
コード例 #20
0
    def meta(self):
        """ Ask the server for an object which should contain


        """
        self.postVars = dict(
            k=self.hkey,
            s=self.skey,
        )
        d = dict(v=SYNC_VER, cv="ankidesktop,%s,%s"%(versionWithBuild(), platDesc()))
        ret = self.req(
            "meta", io.BytesIO(json.dumps(d).encode("utf8")),
            badAuthRaises=False)
        if not ret:
            # invalid auth
            return
        return json.loads(ret.decode("utf8"))
コード例 #21
0
    def begin(self):
        """Send a request to initialize the communication. It contains:
        * 'k': the hostkey (a number sent during synchronization of data, to identify the user)
        * 'v': "ankidesktop,{anki's version number},{platform}:{platform's
        version}", with platform being either win, lin, mac or unknown. In
        the last case, there are no version sent.

        Set the identification number as provided by the server. This
        number is used for this communication only.

        Raise an exception if the response contains an error field or is not json.

        """
        self.postVars = dict(
            k=self.hkey,
            v="ankidesktop,%s,%s"%(anki.version, platDesc())
        )
        ret = self._dataOnly(self.req(
            "begin", io.BytesIO(json.dumps(dict()).encode("utf8"))))
        self.skey = ret['sk']
        return ret
コード例 #22
0
ファイル: utils.py プロジェクト: zjosua/popup-dictionary
def debugInfo():
    """Return verbose info on add-ons and Anki installation"""
    info = [
        "{name} version {version}".format(name=ADDON.NAME,
                                          version=ADDON.VERSION)
    ]
    if ANKI20:
        from aqt.qt import QT_VERSION_STR, PYQT_VERSION_STR
        from aqt import appVersion
        from anki.utils import platDesc
        info.append("Anki {version} (Qt {qt} PyQt {pyqt})".format(
            version=appVersion, qt=QT_VERSION_STR, pyqt=PYQT_VERSION_STR))
        info.append(platDesc())
        files = [f for f in os.listdir(PATH_ADDONS) if f.endswith(".py")]
        info.append("Add-ons:\n\n" + repr(files))
    else:
        from aqt.utils import supportText
        info.append(supportText())

        addmgr = mw.addonManager
        info.append("Add-ons:\n\n" + "\n".join(
            addmgr.annotatedName(d) for d in addmgr.allAddons()))

    return "\n\n".join(info)
コード例 #23
0
ファイル: sync.py プロジェクト: v-limc/anki
    g = QGridLayout()
    l1 = QLabel(tr.sync_ankiweb_id_label())
    g.addWidget(l1, 0, 0)
    user = QLineEdit()
    user.setText(username)
    g.addWidget(user, 0, 1)
    l2 = QLabel(tr.sync_password_label())
    g.addWidget(l2, 1, 0)
    passwd = QLineEdit()
    passwd.setText(password)
    passwd.setEchoMode(QLineEdit.Password)
    g.addWidget(passwd, 1, 1)
    vbox.addLayout(g)
    bb = QDialogButtonBox(QDialogButtonBox.Ok
                          | QDialogButtonBox.Cancel)  # type: ignore
    bb.button(QDialogButtonBox.Ok).setAutoDefault(True)
    qconnect(bb.accepted, diag.accept)
    qconnect(bb.rejected, diag.reject)
    vbox.addWidget(bb)
    diag.setLayout(vbox)
    diag.show()

    accepted = diag.exec_()
    if not accepted:
        return ("", "")
    return (user.text().strip(), passwd.text())


# export platform version to syncing code
os.environ["PLATFORM"] = platDesc()