Commit cf3b3ad4 by aa.gusti

initialize

1 parent 14c56b4f
......@@ -410,7 +410,7 @@ def main(argv=sys.argv):
DBSession.configure(bind=engine)
LogDBSession.configure(bind=engine)
# alembic_run(config_uri) # alembicnya ziggurat
Base.metadata.create_all(engine)
Base.metadata.create_all(bind=engine)
alembic_run(config_uri, "alembic_base")
# base_alembic_run(config_uri)
......
......@@ -26,28 +26,45 @@ def jasper_compile(input_file):
pyreportjasper.compile(write_jasper=True)
def jasper_export(input_file, output_file=None, schema=None,
output_formats=["pdf"], dburl="sqlalchemy.url",
parameters={}, db_schema=None, report_locale="en_US"):
def jasper_db_conn(db_schema=None, dburl="sqlalchemy.url"):
db = get_params(dburl).split("@")
db_driver, db_user, db_password = db[0].split(':')
db_servers, db_name = db[1].split('/')
# db_user, db_password = db_users.split(":")
if db_servers.find(':') > 1:
db_host, db_port = db_servers.split(":")
else:
db_host = db_servers
db_port = db_driver_port[db_driver][1]
# db_host = db_server
jdbc_dir = get_params("jdbc_dir", "")
# if not jdbc_dir:
# java_home = os.getenv("JAVA_HOME")
# jdbc_dir = os.path.join(java_home, 'lib', db_driver_port[db_driver][2])
if db_servers.find(':') > 1:
db_host, db_port = db_servers.split(":")
else:
db_host = db_servers
db_port = db_driver_port[db_driver][1]
jdbc_dir = get_params("jdbc_dir", "")
jdbc_driver = db_driver_port[db_driver][2]
db_driver = db_driver_port[db_driver][0]
log.info(jdbc_dir)
return {
'driver': db_driver,
'username': db_user.strip('/'),
'password': db_password,
'host': db_host,
'database': db_name,
'db_sid': db_name, # for oracle: added by Tatang
'schema': db_schema,
'port': db_port,
'jdbc_dir': jdbc_dir,
'jdbc_driver': jdbc_driver,
}
def jasper_export(input_file, output_file=None, schema=None,
output_formats=["pdf"], dburl="sqlalchemy.url",
parameters={}, db_schema=None, report_locale="en_US", use_db=True):
input_file = input_file.split(":")
# if os.name == 'nt' and len(input_file)>1:
# input_file=[input_file[0]]
......@@ -77,53 +94,26 @@ def jasper_export(input_file, output_file=None, schema=None,
else:
input_file = input_file[0]
log.debug(f"Input File: {input_file}" )
log.debug(f"Input File: {input_file}")
# if len(input_file) > 1:
# path = __import__()
# path = os.path.dirname(path.__file__)
# input_file = os.path.join(path, input_file[1])
# else:
# input_file = os.path.join(path, input_file[0])
# if not output_file:
# output_file = get_params("tmp_report", "/tmp")
# output_file = os.path.join(output_file, get_random_string(32))
#
if not output_file:
output_file = get_params("tmp_report", "/tmp")
output_file = os.path.join(output_file, get_random_string(32))
conn = {
'driver': db_driver,
'username': db_user.strip('/'),
'password': db_password,
'host': db_host,
'database': db_name,
'db_sid': db_name, # for oracle: added by Tatang
'schema': db_schema,
'port': db_port,
'jdbc_dir': jdbc_dir,
'jdbc_driver': jdbc_driver,
}
db_connection = use_db and jasper_db_conn(
db_schema=db_schema, dburl=dburl) or {}
pyreportjasper = PyReportJasper()
parameters.update({'python_version': python_version()})
pyreportjasper.config(
input_file,
output_file,
db_connection=conn,
output_formats=output_formats,
db_connection=db_connection,
parameters=parameters,
locale=report_locale
)
try:
log.info(input_file)
# log.info(output_file)
# log.info(conn)
# log.info(output_formats)
pyreportjasper.compile(write_jasper=True)
pyreportjasper.process_report()
except Exception as e:
......@@ -131,4 +121,4 @@ def jasper_export(input_file, output_file=None, schema=None,
raise
output_files = [".".join([output_file, f]) for f in output_formats]
log.info(output_files)
return output_files
\ No newline at end of file
return output_files
......@@ -734,9 +734,13 @@ class BaseView(object):
row.updated = datetime.now()
row.update_uid = user and user.id or None
for key, value in values.items():
if hasattr(row, key):
setattr(row, key, value)
for column in row.__table__.columns:
if column.name in values:
setattr(row, column.name, values[column.name])
# for key, value in values.items():
# if hasattr(row, key):
# setattr(row, key, value)
# row.from_dict(values)
# if hasattr(row, "status"):
......
......@@ -290,7 +290,7 @@ class Registrasi(BaseView):
else:
value.pop("idcard")
value["groups"]="Guest"
value["groups"] = "Guest"
def before_add(self):
result = {}
......@@ -329,7 +329,7 @@ class Registrasi(BaseView):
return DBSession.query(Partner). \
filter(Partner.email == self.req.user.email)
def id_not_found(self):
def id_not_found(self, **kwargs):
return
def get_values(self, row, istime=False):
......@@ -406,7 +406,7 @@ class Registrasi(BaseView):
'email-new-user.tpl')
ts = _(
'user-added',
default='${email} berhasil ditambahkan dan email untuk ubah ' \
default='${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.',
mapping={"email": row.email})
self.ses.flash(ts)
......@@ -427,4 +427,4 @@ class Registrasi(BaseView):
values = dict(c)
row = self.save_request(values)
self.after_add(row=row, values=values)
return self.route_list()
\ No newline at end of file
return self.route_list()
......@@ -128,7 +128,7 @@ class Views(BaseView):
# values["company_id"] or None
# values["company_id"] = company_id
if "company_id" not in values:
values["company_id"]=None
values["company_id"] = None
if 'is_api_key' in values:
values["api_key"] = generate_api_key()
insert = not row
......@@ -147,7 +147,7 @@ class Views(BaseView):
data = dict(email=row.email)
ts = _(
'user-added',
default='${email} berhasil ditambahkan dan email untuk ubah ' \
default='${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.',
mapping=data)
self.ses.flash(ts)
......@@ -411,8 +411,8 @@ def user_widget(node, kw):
values = kw.get('user_list', [])
request = kw.get("request")
return widget.SelectWidget(values=values,
placeholder="Pilih User",
style="width:300px;")
placeholder="Pilih User",
style="width:300px;")
class UserFilterSchema(colander.Schema):
......
[build-system]
requires = ['setuptools >= 64', 'wheel']
build-backend = 'setuptools.build_meta'
#requires = ["hatchling"]
#build-backend = "hatchling.build"
[tool.setuptools]
py-modules = ["opensipkd"]
[tool.mypy]
exclude = [
'base',
'report',
'external',
'developers',
]
show_error_codes = true
[[tool.mypy.overrides]]
module = [
"opensipkd.base.*",
"opensipkd.models.*",
"opensipkd.detable.*",
"opensipkd.jsonrpc_auth.*",
]
warn_unused_ignores = true
strict = true
[project]
name = 'opensipkd-base'
version = '4.2B'
version = '4.2'
dependencies = [
'sqlalchemy',
'colander',
......@@ -45,7 +62,8 @@ authors = [
{ email = "opensipkd@gmail.com" },]
maintainers = [
{ name = "Ari", email = "ariagungprasetiyo@gmail.com" }]
{ name = "Ari", email = "ariagungprasetiyo@gmail.com" },
{ name = "Owo Sugiana", email = "sugiana@gmail.com" }]
description = 'Framwork Aplikasi openSIPKD'
readme = 'README.rst'
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!