Commit 95920c62 by Aplikasi Samsat Banten
2 parents 75314a21 12b84cfb
...@@ -34,6 +34,10 @@ class CommonModel(object): ...@@ -34,6 +34,10 @@ class CommonModel(object):
values[column.name] = val values[column.name] = val
return values return values
def from_dict(self, values):
for column in self.__table__.columns:
if column.name in values:
setattr(self, column.name, values[column.name])
class BaseModel(CommonModel): class BaseModel(CommonModel):
id = Column(Integer, nullable=False, primary_key=True) id = Column(Integer, nullable=False, primary_key=True)
......
...@@ -17,7 +17,6 @@ name_conf = {} ...@@ -17,7 +17,6 @@ name_conf = {}
allowed_ips = [] allowed_ips = []
web = {} web = {}
def get_conf(ip, port): def get_conf(ip, port):
key = join_ip_port(ip, port) key = join_ip_port(ip, port)
return ip_conf[key] return ip_conf[key]
...@@ -73,10 +72,11 @@ def get_streamer_class(name): ...@@ -73,10 +72,11 @@ def get_streamer_class(name):
obj = get_module_object('opensipkd.streamer.' + name) obj = get_module_object('opensipkd.streamer.' + name)
return obj.Streamer return obj.Streamer
def read_conf(conf_file): def read_conf(conf_file):
conf = ConfigParser() conf = ConfigParser()
conf.read(conf_file) conf.read(conf_file)
# Load Config Modules # Load Config Modules
modules = dict() modules = dict()
for section in conf.sections(): for section in conf.sections():
...@@ -88,7 +88,7 @@ def read_conf(conf_file): ...@@ -88,7 +88,7 @@ def read_conf(conf_file):
for key, value in conf.items(section): for key, value in conf.items(section):
modules[key] = value modules[key] = value
# Load Config Host # Load Host Config
for section in conf.sections(): for section in conf.sections():
if section == 'web': if section == 'web':
web['port'] = conf.getint(section, 'port') web['port'] = conf.getint(section, 'port')
...@@ -120,6 +120,9 @@ def read_conf(conf_file): ...@@ -120,6 +120,9 @@ def read_conf(conf_file):
cfg['listen'] = get_boolean(conf, section, 'listen', True) cfg['listen'] = get_boolean(conf, section, 'listen', True)
cfg['echo'] = get_boolean(conf, section, 'echo', not cfg['listen']) cfg['echo'] = get_boolean(conf, section, 'echo', not cfg['listen'])
cfg['timeout'] = get_int(conf, section, 'timeout', 60) cfg['timeout'] = get_int(conf, section, 'timeout', 60)
cfg['banks'] = get_str(conf, section, 'banks', '001,110').split(',')
cfg['channels'] = get_str(conf, section, 'channels', '6010,6011,6012').split(',')
if cfg['listen']: if cfg['listen']:
if port not in listen_ports: if port not in listen_ports:
listen_ports.append(port) listen_ports.append(port)
......
...@@ -61,7 +61,6 @@ def log_error(s): ...@@ -61,7 +61,6 @@ def log_error(s):
def iso_to_dict(iso): def iso_to_dict(iso):
data = iso.get_values() data = iso.get_values()
print("DEBUG data", data)
return dict_to_str(data) return dict_to_str(data)
...@@ -588,6 +587,40 @@ def check_parser(): ...@@ -588,6 +587,40 @@ def check_parser():
logs = [] logs = []
running = [] running = []
from ..models import Base, DBSession
from sqlalchemy import create_engine
try:
from configparser import (
ConfigParser,
NoOptionError,
)
except ImportError:
from ConfigParser import (
ConfigParser,
NoOptionError,
)
def get_db(conf_file):
conf = ConfigParser()
conf.read(conf_file)
if 'main' not in conf.sections():
return
settings = conf['main']
if 'sqlalchemy.url' not in settings:
return
pool_size = 'pool_size' in settings and int(settings['pool_size']) or 5
max_overflow = 'max_overflow' in settings and int(settings['max_overflow']) or 10
url = settings['sqlalchemy.url']
print(url, pool_size, max_overflow)
engine = create_engine(url,
max_overflow=max_overflow,
pool_size=pool_size)
DBSession.configure(bind=engine)
Base.metadata.bind = engine
# session_factory = session_factory_from_settings(settings)
def main(argv=sys.argv): def main(argv=sys.argv):
if len(argv) != 2: if len(argv) != 2:
...@@ -595,6 +628,7 @@ def main(argv=sys.argv): ...@@ -595,6 +628,7 @@ def main(argv=sys.argv):
config_uri = argv[1] config_uri = argv[1]
setup_logging(config_uri) setup_logging(config_uri)
read_conf(config_uri) read_conf(config_uri)
get_db(config_uri)
log = logging.getLogger(__file__) log = logging.getLogger(__file__)
logs.append(log) logs.append(log)
running.append(True) running.append(True)
......
import sys
import os
from optparse import OptionParser
import locale
from ..read_conf import (read_conf, get_str, name_conf)
import logging
from pyramid.paster import setup_logging
# import importlib
# import imp
# from .iso8583_forwarder import conf
from .forwarder import logs
try:
from configparser import (
ConfigParser,
NoOptionError,
)
except ImportError:
from ConfigParser import (
ConfigParser,
NoOptionError,
)
def main(argv=sys.argv):
##############
# Blok Utama #
##############
conf_file = "" # os.path.join('conf', 'forwarder.py')
host_name = 'bjb'
log_dir = 'logs'
pars = OptionParser()
pars.add_option('-c', '--conf-file', default=conf_file, help='default ' + conf_file)
pars.add_option('-o', '--host', default=host_name, help='default ' + host_name)
pars.add_option('-i', '--invoice-id')
pars.add_option('-b', '--bank-id', default='001', help='default Bank Indonesia')
option, remain = pars.parse_args(argv[1:])
conf_file = os.path.realpath(option.conf_file)
read_conf(conf_file)
setup_logging(conf_file)
log = logging.getLogger(__file__)
logs.append(log)
conf = ConfigParser()
conf.read(conf_file)
localization = get_str(conf, 'main', 'localization', default='id_ID.UTF-8')
locale.setlocale(locale.LC_ALL, localization)
module_name = 'main'
name = name_conf[host_name]['module'] + '.test_inquiry'
module = __import__(name, fromlist=[module_name])
print(name)
module.main(argv[2:])
# import sys
# import os
# sys.path.insert(0, 'modules')
# module_name = sys.argv[1]
# name = module_name + '.test_payment'
# module = __import__(name)
# sub_module = getattr(module, 'test_payment')
# sub_module.main(sys.argv[2:])
import sys
import os
from optparse import OptionParser
import locale
from ..read_conf import (read_conf, get_str, name_conf)
import logging
from pyramid.paster import setup_logging
from .forwarder import get_db
# import importlib
# import imp
# from .iso8583_forwarder import conf
from .forwarder import logs
try:
from configparser import (
ConfigParser,
NoOptionError,
)
except ImportError:
from ConfigParser import (
ConfigParser,
NoOptionError,
)
def main(argv=sys.argv):
##############
# Blok Utama #
##############
conf_file = "" # os.path.join('conf', 'forwarder.py')
host_name = 'bjb'
log_dir = 'logs'
pars = OptionParser()
pars.add_option('-c', '--conf-file', default=conf_file, help='default ' + conf_file)
pars.add_option('-o', '--host', default=host_name, help='default ' + host_name)
pars.add_option('-i', '--invoice-id')
pars.add_option('-b', '--bank-id', default='001', help='default Bank Indonesia')
option, remain = pars.parse_args(argv[1:])
conf_file = os.path.realpath(option.conf_file)
read_conf(conf_file)
get_db(conf_file)
setup_logging(conf_file)
log = logging.getLogger(__file__)
logs.append(log)
conf = ConfigParser()
conf.read(conf_file)
localization = get_str(conf, 'main', 'localization', default='id_ID.UTF-8')
locale.setlocale(locale.LC_ALL, localization)
module_name = 'main'
name = name_conf[host_name]['module'] + '.test_payment'
module = __import__(name, fromlist=[module_name])
print(name)
module.main(argv[2:])
import sys
import os
sys.path.insert(0, 'modules')
module_name = sys.argv[1]
name = module_name + '.test_raw'
module = __import__(name)
sub_module = getattr(module, 'test_raw')
sub_module.main(sys.argv[2:])
# import sys
# import os
#
#
# sys.path.insert(0, 'modules')
# module_name = sys.argv[1]
# name = module_name + '.test_reversal'
# module = __import__(name)
# sub_module = getattr(module, 'test_reversal')
# sub_module.main(sys.argv[2:])
# import sys
# import os
# sys.path.insert(0, 'modules')
# module_name = sys.argv[1]
# name = module_name + '.test_payment'
# module = __import__(name)
# sub_module = getattr(module, 'test_payment')
# sub_module.main(sys.argv[2:])
import sys
import os
from optparse import OptionParser
import locale
from ..read_conf import (read_conf, get_str, name_conf)
import logging
from pyramid.paster import setup_logging
# import importlib
# import imp
# from .iso8583_forwarder import conf
from .forwarder import logs, get_db
try:
from configparser import (
ConfigParser,
NoOptionError,
)
except ImportError:
from ConfigParser import (
ConfigParser,
NoOptionError,
)
def main(argv=sys.argv):
##############
# Blok Utama #
##############
conf_file = "" # os.path.join('conf', 'forwarder.py')
host_name = 'bjb'
log_dir = 'logs'
pars = OptionParser()
pars.add_option('-c', '--conf-file', default=conf_file, help='default ' + conf_file)
pars.add_option('-o', '--host', default=host_name, help='default ' + host_name)
pars.add_option('-i', '--invoice-id')
pars.add_option('-b', '--bank-id', default='001', help='default Bank Indonesia')
option, remain = pars.parse_args(argv[1:])
conf_file = os.path.realpath(option.conf_file)
read_conf(conf_file)
get_db(conf_file)
setup_logging(conf_file)
log = logging.getLogger(__file__)
logs.append(log)
conf = ConfigParser()
conf.read(conf_file)
localization = get_str(conf, 'main', 'localization', default='id_ID.UTF-8')
locale.setlocale(locale.LC_ALL, localization)
module_name = 'main'
name = name_conf[host_name]['module'] + '.test_reversal'
module = __import__(name, fromlist=[module_name])
print(name)
module.main(argv[2:])
import sys
import os
from optparse import OptionParser
import locale
import importlib
import imp
from opensipkd.forwarder.iso8583_forwarder import conf
from opensipkd.forwarder.modules.ws_tools import send_rpc
def main(argv=sys.argv):
# global listen_ports
# global ip_conf
# global allowed_ips
# global hosts
# global logs
# global stop_dir
# global running
# global log
##############
# Blok Utama #
##############
global conf
conf_file = os.path.join('conf', 'forwarder.py')
host_name = 'bjb'
log_dir = 'logs'
method = 'get_tagihan'
host = 'bjb'
pars = OptionParser()
pars.add_option('-p', '--no-pol')
pars.add_option('-c', '--conf-file', default=conf_file, help='default ' + conf_file)
pars.add_option('-o', '--host', default=host, help='default ' + host)
pars.add_option('-m', '--method', default=method, help='default ' + method)
option, remain = pars.parse_args(argv[1:])
conf_file = os.path.realpath(option.conf_file)
conf = imp.load_source('conf', conf_file)
rpc = conf.rpc
method = option.method
host = option.host
no_pol = option.no_pol
message = dict(kd_bank=conf.host[host]['id'],
kd_biller=rpc['kd_biller'],
kd_channel='6010',
kd_produk=rpc['kd_produk']
)
if method=='get_tagihan':
message.update(dict(no_polisi=no_pol))
print(message)
rpc = conf.rpc
rows = send_rpc(rpc['user'], rpc['key'], rpc['url'], method, message)
print rows
\ No newline at end of file \ No newline at end of file
...@@ -105,6 +105,9 @@ setup( ...@@ -105,6 +105,9 @@ setup(
'console_scripts': [ 'console_scripts': [
'initialize_iso8583_web_db = iso8583_web.scripts.initialize_db:main', 'initialize_iso8583_web_db = iso8583_web.scripts.initialize_db:main',
'iso8583 = iso8583_web.scripts.forwarder:main', 'iso8583 = iso8583_web.scripts.forwarder:main',
'iso8583-test-inquiry = iso8583_web.scripts.test_inquiry:main',
'iso8583-test-payment = iso8583_web.scripts.test_payment:main',
'iso8583-test-reversal = iso8583_web.scripts.test_reversal:main',
] ]
}, },
) )
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!