def main():
  parser = argparse.ArgumentParser(description="Process all withdrawals using blockchain.info wallet api")

  parser.add_argument('-b', "--blinktrade_websocket_url", action="store", dest="blintrade_webscoket_url", help='Blinktrade Websocket Url', type=str)
  parser.add_argument('-u', "--blinktrade_username", action="store", dest="blintrade_user",     help='Blinktrade User', type=str)
  parser.add_argument('-p', "--blinktrade_password", action="store", dest="blintrade_password",  help='Blinktrade Password', type=str)
  parser.add_argument('-db', "--db_engine", action="store", dest="db_engine",  help='Database Engine', type=str)
  parser.add_argument('-v', "--verbose", action="store_true", default=False, dest="verbose",  help='Verbose')

  wallet_mnemonic = getpass.getpass('wallet_mnemonic: ')

  arguments = parser.parse_args()

  if not arguments.db_engine:
    parser.print_help()
    return

  blinktrade_port = 443
  should_connect_on_ssl = True
  blinktrade_url = urlparse(arguments.blintrade_webscoket_url)
  if  blinktrade_url.port is None and blinktrade_url.scheme == 'ws':
    should_connect_on_ssl = False
    blinktrade_port = 80


  db_engine = create_engine(arguments.db_engine, echo=arguments.verbose)
  Base.metadata.create_all(db_engine)


  factory = WebSocketClientFactory(blinktrade_url.geturl())
  factory.blintrade_user = arguments.blintrade_user
  factory.blintrade_password = arguments.blintrade_password
  factory.blockchain_guid = arguments.blockchain_guid
  factory.wallet_mnemonic = wallet_mnemonic
  factory.db_session = scoped_session(sessionmaker(bind=db_engine))
  factory.verbose = arguments.verbose

  factory.protocol = BtcWithdrawalProtocol
  if should_connect_on_ssl:
    reactor.connectSSL( blinktrade_url.netloc ,  blinktrade_port , factory, ssl.ClientContextFactory() )
  else:
    reactor.connectTCP(blinktrade_url.netloc ,  blinktrade_port , factory )

  reactor.run()
Пример #2
0
def main():
    parser = argparse.ArgumentParser(
        description="Process blinktrade withdrawals requests")

    parser.add_argument('-c',
                        "--config",
                        action="store",
                        dest="config",
                        help='Configuration file',
                        type=str)

    arguments = parser.parse_args()

    candidates = [
        os.path.join(site_config_dir('blinktrade'),
                     'blinktrade_withdrawer.ini'),
        os.path.expanduser('~/.blinktrade/blinktrade_withdrawer.ini')
    ]
    if arguments.config:
        candidates.append(arguments.config)

    config = ConfigParser.SafeConfigParser()
    config.read(candidates)

    if config.has_section('blockchain_info'):
        blockchain_main_password = getpass.getpass(
            'Blockchain.info main password: '******'Blockchain.info second password: '******'blinktrade password: '******'blinktrade second factor authentication: ')

    blinktrade_port = 443
    should_connect_on_ssl = True
    blinktrade_url = urlparse(config.get("blinktrade", "webscoket_url"))
    if blinktrade_url.port is None and blinktrade_url.scheme == 'ws':
        should_connect_on_ssl = False
        blinktrade_port = 80

    db_engine = config.get("database", "sqlalchemy_engine") + ':///' +\
                os.path.expanduser(config.get("database", "sqlalchemy_connection_string"))
    engine = create_engine(db_engine,
                           echo=config.getboolean('database',
                                                  'sqlalchmey_verbose'))
    Base.metadata.create_all(engine)

    factory = WebSocketClientFactory(blinktrade_url.geturl())
    factory.db_session = scoped_session(sessionmaker(bind=engine))
    factory.verbose = config.getboolean("blinktrade", "verbose")
    factory.blinktrade_user = config.get("blinktrade", "user")
    factory.blinktrade_broker_id = config.get("blinktrade", "broker_id")
    factory.currencies = json.loads(config.get("blinktrade", "currencies"))
    factory.methods = json.loads(config.get("blinktrade", "methods"))
    factory.blinktrade_password = blinktrade_password
    factory.blinktrade_2fa = blinktrade_2fa

    factory.blocked_accounts = json.loads(
        config.get("blinktrade", "blocked_accounts"))

    if config.has_section('blockchain_info'):
        from blockchain_info import BlockchainInfoWithdrawalProtocol
        factory.blockchain_guid = config.get("blockchain_info", "guid")
        factory.from_address = config.get("blockchain_info", "from_address")
        factory.note = config.get("blockchain_info", "note")
        factory.blockchain_main_password = blockchain_main_password
        factory.blockchain_second_password = blockchain_second_password
        factory.protocol = BlockchainInfoWithdrawalProtocol

    if config.has_section('mailer'):
        from mailer_protocol import MailerWithdrawalProtocol
        factory.mandrill_apikey = config.get("mailer", "mandrill_apikey")
        factory.mandrill_template_name = config.get("mailer", "template_name")
        factory.mandrill_from_email = config.get("mailer", "from_email")
        factory.mandrill_from_name = config.get("mailer", "from_name")
        factory.mandrill_to_email = config.get("mailer", "to_email")
        factory.mandrill_to_name = config.get("mailer", "to_name")
        factory.mandrill_website = config.get("mailer", "website")
        factory.protocol = MailerWithdrawalProtocol

    if should_connect_on_ssl:
        reactor.connectSSL(blinktrade_url.netloc, blinktrade_port, factory,
                           ssl.ClientContextFactory())
    else:
        reactor.connectTCP(blinktrade_url.netloc, blinktrade_port, factory)

    reactor.run()
Пример #3
0
def main():
    parser = argparse.ArgumentParser(
        description="Process all withdrawals using blockchain.info wallet api")

    parser.add_argument('-b',
                        "--blinktrade_websocket_url",
                        action="store",
                        dest="blintrade_webscoket_url",
                        help='Blinktrade Websocket Url',
                        type=str)
    parser.add_argument('-u',
                        "--blinktrade_username",
                        action="store",
                        dest="blintrade_user",
                        help='Blinktrade User',
                        type=str)
    parser.add_argument('-p',
                        "--blinktrade_password",
                        action="store",
                        dest="blintrade_password",
                        help='Blinktrade Password',
                        type=str)
    parser.add_argument('-db',
                        "--db_engine",
                        action="store",
                        dest="db_engine",
                        help='Database Engine',
                        type=str)
    parser.add_argument('-v',
                        "--verbose",
                        action="store_true",
                        default=False,
                        dest="verbose",
                        help='Verbose')

    wallet_mnemonic = getpass.getpass('wallet_mnemonic: ')

    arguments = parser.parse_args()

    if not arguments.db_engine:
        parser.print_help()
        return

    blinktrade_port = 443
    should_connect_on_ssl = True
    blinktrade_url = urlparse(arguments.blintrade_webscoket_url)
    if blinktrade_url.port is None and blinktrade_url.scheme == 'ws':
        should_connect_on_ssl = False
        blinktrade_port = 80

    db_engine = create_engine(arguments.db_engine, echo=arguments.verbose)
    Base.metadata.create_all(db_engine)

    factory = WebSocketClientFactory(blinktrade_url.geturl())
    factory.blintrade_user = arguments.blintrade_user
    factory.blintrade_password = arguments.blintrade_password
    factory.blockchain_guid = arguments.blockchain_guid
    factory.wallet_mnemonic = wallet_mnemonic
    factory.db_session = scoped_session(sessionmaker(bind=db_engine))
    factory.verbose = arguments.verbose

    factory.protocol = BtcWithdrawalProtocol
    if should_connect_on_ssl:
        reactor.connectSSL(blinktrade_url.netloc, blinktrade_port, factory,
                           ssl.ClientContextFactory())
    else:
        reactor.connectTCP(blinktrade_url.netloc, blinktrade_port, factory)

    reactor.run()
Пример #4
0
def main():
  parser = argparse.ArgumentParser(description="Process blinktrade withdrawals requests")

  parser.add_argument('-c',
                      "--config",
                      action="store",
                      dest="config",
                      help='Configuration file', type=str)

  arguments = parser.parse_args()

  candidates = [ os.path.join(site_config_dir('blinktrade'), 'blinktrade_withdrawer.ini'),
                 os.path.expanduser('~/.blinktrade/blinktrade_withdrawer.ini')]
  if arguments.config:
    candidates.append(arguments.config)

  config = ConfigParser.SafeConfigParser()
  config.read( candidates )

  if config.has_section('blockchain_info'):
    blockchain_main_password    = getpass.getpass('Blockchain.info main password: '******'Blockchain.info second password: '******'blinktrade password: '******'blinktrade second factor authentication: ')


  blinktrade_port = 443
  should_connect_on_ssl = True
  blinktrade_url = urlparse( config.get("blinktrade", "webscoket_url"))
  if  blinktrade_url.port is None and blinktrade_url.scheme == 'ws':
    should_connect_on_ssl = False
    blinktrade_port = 80

  db_engine = config.get("database", "sqlalchemy_engine") + ':///' +\
              os.path.expanduser(config.get("database", "sqlalchemy_connection_string"))
  engine = create_engine(db_engine, echo=config.getboolean('database', 'sqlalchmey_verbose'))
  Base.metadata.create_all(engine)

  factory = WebSocketClientFactory(blinktrade_url.geturl())
  factory.db_session                  = scoped_session(sessionmaker(bind=engine))
  factory.verbose                     = config.getboolean("blinktrade", "verbose")
  factory.blinktrade_user             = config.get("blinktrade", "user")
  factory.blinktrade_broker_id        = config.get("blinktrade", "broker_id")
  factory.currencies                  = json.loads(config.get("blinktrade", "currencies"))
  factory.methods                     = json.loads(config.get("blinktrade", "methods"))
  factory.blinktrade_password         = blinktrade_password
  factory.blinktrade_2fa              = blinktrade_2fa

  factory.blocked_accounts            = json.loads(config.get("blinktrade", "blocked_accounts"))

  if config.has_section('blockchain_info'):
    from blockchain_info import BlockchainInfoWithdrawalProtocol
    factory.blockchain_guid             = config.get("blockchain_info", "guid")
    factory.from_address                = config.get("blockchain_info", "from_address")
    factory.note                        = config.get("blockchain_info", "note")
    factory.blockchain_main_password    = blockchain_main_password
    factory.blockchain_second_password  = blockchain_second_password
    factory.protocol = BlockchainInfoWithdrawalProtocol

  if config.has_section('mailer'):
    from mailer_protocol import MailerWithdrawalProtocol
    factory.mandrill_apikey             = config.get("mailer", "mandrill_apikey")
    factory.mandrill_template_name      = config.get("mailer", "template_name")
    factory.mandrill_from_email         = config.get("mailer", "from_email")
    factory.mandrill_from_name          = config.get("mailer", "from_name")
    factory.mandrill_to_email           = config.get("mailer", "to_email")
    factory.mandrill_to_name            = config.get("mailer", "to_name")
    factory.mandrill_website            = config.get("mailer", "website")
    factory.protocol = MailerWithdrawalProtocol

  if should_connect_on_ssl:
    reactor.connectSSL( blinktrade_url.netloc ,  blinktrade_port , factory, ssl.ClientContextFactory() )
  else:
    reactor.connectTCP(blinktrade_url.netloc ,  blinktrade_port , factory )

  reactor.run()