Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
aa.gusti
/
opensipkd-base
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit cf3b3ad4
authored
Jan 30, 2025
by
aa.gusti
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
initialize
1 parent
14c56b4f
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
67 additions
and
55 deletions
opensipkd/base/scripts/initializedb.py
opensipkd/base/tools/report.py
opensipkd/base/views/base_views.py
opensipkd/base/views/register.py
opensipkd/base/views/user.py
pyproject.toml
opensipkd/base/scripts/initializedb.py
View file @
cf3b3ad
...
...
@@ -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)
...
...
opensipkd/base/tools/report.py
View file @
cf3b3ad
...
...
@@ -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
:
...
...
opensipkd/base/views/base_views.py
View file @
cf3b3ad
...
...
@@ -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"):
...
...
opensipkd/base/views/register.py
View file @
cf3b3ad
...
...
@@ -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
)
...
...
opensipkd/base/views/user.py
View file @
cf3b3ad
...
...
@@ -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
)
...
...
pyproject.toml
View file @
cf3b3ad
[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.2
B
'
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'
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment