コード例 #1
0
def cmd_clear_credentials(args):
    _LOG.debug("Removing all stored credentials")

    data_dir = UserDataDirectory('client')

    for entry in data_dir.iter_files('*.key'):
        entry.secure_remove()
    for entry in data_dir.iter_files('*_sentry.bin'):
        entry.secure_remove()
コード例 #2
0
def cmd_clear_all(args):
    _LOG.debug("Removing all files stored by this application")

    cmd_clear_cache(args)
    cmd_clear_credentials(args)

    data_dir = UserDataDirectory()

    if data_dir.exists():
        data_dir.remove()
    else:
        _LOG.debug("Data dir doesn't exist. Nothing to do")
コード例 #3
0
ファイル: cmds.py プロジェクト: DMzda/steamctl
def cmd_authenticator_list(args):
    rows = []

    for secrets_file in UserDataDirectory('authenticator').iter_files('*.json'):
        secrets = secrets_file.read_json()
        rows.append([
            secrets['account_name'],
            secrets['token_gid'],
            fmt_datetime(int(secrets['server_time']), utc=args.utc),
            ])

    if rows:
        print_table(rows,
                    ['Account', 'Token GID', 'Created'],
                    )
    else:
        print("No authenticators found")
コード例 #4
0
def cmd_authenticator_list(args):
    rows = []

    for secrets_file in UserDataDirectory('authenticator').iter_files(
            '*.json'):
        secrets = secrets_file.read_json()
        rows.append([
            secrets_file.filename, secrets['account_name'],
            secrets['token_gid'],
            fmt_datetime(int(secrets['server_time']),
                         utc=args.utc), 'Created via steamctl'
            if 'serial_number' in secrets else 'Imported from secret'
        ])

    if rows:
        print_table(
            rows,
            ['Filename', 'Account', 'Token GID', 'Created', 'Note'],
        )
    else:
        print("No authenticators found")
コード例 #5
0
gevent.monkey.patch_socket()
gevent.monkey.patch_ssl()

import os
import logging
from steam.enums import EResult
from steam.client import SteamClient
from steam.client.cdn import CDNClient, CDNDepotManifest, CDNDepotFile
from steam.exceptions import SteamError

from steamctl.utils.format import fmt_size
from steamctl.utils.storage import (UserCacheFile, UserDataFile,
                                    UserCacheDirectory, UserDataDirectory,
                                    ensure_dir, sanitizerelpath)

cred_dir = UserDataDirectory('client')


class CachingSteamClient(SteamClient):
    credential_location = cred_dir.path

    def __init__(self, *args, **kwargs):
        if not cred_dir.exists():
            cred_dir.mkdir()
        SteamClient.__init__(self, *args, **kwargs)
        _LOG = logging.getLogger('CachingSteamClient')
        self._bootstrap_cm_list_from_file()

    def _handle_login_key(self, message):
        SteamClient._handle_login_key(self, message)
コード例 #6
0
ファイル: __init__.py プロジェクト: int3l/steamctl
 def account_autocomplete(prefix, parsed_args, **kwargs):
     return [
         userfile.filename[:-5] for userfile in UserDataDirectory(
             'authenticator').iter_files('*.json')
     ]