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
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
71 additions
and
59 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):
...
@@ -410,7 +410,7 @@ def main(argv=sys.argv):
DBSession
.
configure
(
bind
=
engine
)
DBSession
.
configure
(
bind
=
engine
)
LogDBSession
.
configure
(
bind
=
engine
)
LogDBSession
.
configure
(
bind
=
engine
)
# alembic_run(config_uri) # alembicnya ziggurat
# alembic_run(config_uri) # alembicnya ziggurat
Base
.
metadata
.
create_all
(
engine
)
Base
.
metadata
.
create_all
(
bind
=
engine
)
alembic_run
(
config_uri
,
"alembic_base"
)
alembic_run
(
config_uri
,
"alembic_base"
)
# base_alembic_run(config_uri)
# base_alembic_run(config_uri)
...
...
opensipkd/base/tools/report.py
View file @
cf3b3ad
...
@@ -26,28 +26,45 @@ def jasper_compile(input_file):
...
@@ -26,28 +26,45 @@ def jasper_compile(input_file):
pyreportjasper
.
compile
(
write_jasper
=
True
)
pyreportjasper
.
compile
(
write_jasper
=
True
)
def
jasper_export
(
input_file
,
output_file
=
None
,
schema
=
None
,
def
jasper_db_conn
(
db_schema
=
None
,
dburl
=
"sqlalchemy.url"
):
output_formats
=
[
"pdf"
],
dburl
=
"sqlalchemy.url"
,
parameters
=
{},
db_schema
=
None
,
report_locale
=
"en_US"
):
db
=
get_params
(
dburl
)
.
split
(
"@"
)
db
=
get_params
(
dburl
)
.
split
(
"@"
)
db_driver
,
db_user
,
db_password
=
db
[
0
]
.
split
(
':'
)
db_driver
,
db_user
,
db_password
=
db
[
0
]
.
split
(
':'
)
db_servers
,
db_name
=
db
[
1
]
.
split
(
'/'
)
db_servers
,
db_name
=
db
[
1
]
.
split
(
'/'
)
# db_user, db_password = db_users.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
# db_host = db_server
jdbc_dir
=
get_params
(
"jdbc_dir"
,
""
)
# if not jdbc_dir:
# if not jdbc_dir:
# java_home = os.getenv("JAVA_HOME")
# java_home = os.getenv("JAVA_HOME")
# jdbc_dir = os.path.join(java_home, 'lib', db_driver_port[db_driver][2])
# 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
]
jdbc_driver
=
db_driver_port
[
db_driver
][
2
]
db_driver
=
db_driver_port
[
db_driver
][
0
]
db_driver
=
db_driver_port
[
db_driver
][
0
]
log
.
info
(
jdbc_dir
)
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
(
":"
)
input_file
=
input_file
.
split
(
":"
)
# if os.name == 'nt' and len(input_file)>1:
# if os.name == 'nt' and len(input_file)>1:
# input_file=[input_file[0]]
# input_file=[input_file[0]]
...
@@ -77,53 +94,26 @@ def jasper_export(input_file, output_file=None, schema=None,
...
@@ -77,53 +94,26 @@ def jasper_export(input_file, output_file=None, schema=None,
else
:
else
:
input_file
=
input_file
[
0
]
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
:
if
not
output_file
:
output_file
=
get_params
(
"tmp_report"
,
"/tmp"
)
output_file
=
get_params
(
"tmp_report"
,
"/tmp"
)
output_file
=
os
.
path
.
join
(
output_file
,
get_random_string
(
32
))
output_file
=
os
.
path
.
join
(
output_file
,
get_random_string
(
32
))
db_connection
=
use_db
and
jasper_db_conn
(
db_schema
=
db_schema
,
dburl
=
dburl
)
or
{}
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
,
}
pyreportjasper
=
PyReportJasper
()
pyreportjasper
=
PyReportJasper
()
parameters
.
update
({
'python_version'
:
python_version
()})
parameters
.
update
({
'python_version'
:
python_version
()})
pyreportjasper
.
config
(
pyreportjasper
.
config
(
input_file
,
input_file
,
output_file
,
output_file
,
db_connection
=
conn
,
output_formats
=
output_formats
,
output_formats
=
output_formats
,
db_connection
=
db_connection
,
parameters
=
parameters
,
parameters
=
parameters
,
locale
=
report_locale
locale
=
report_locale
)
)
try
:
try
:
log
.
info
(
input_file
)
log
.
info
(
input_file
)
# log.info(output_file)
# log.info(conn)
# log.info(output_formats)
pyreportjasper
.
compile
(
write_jasper
=
True
)
pyreportjasper
.
compile
(
write_jasper
=
True
)
pyreportjasper
.
process_report
()
pyreportjasper
.
process_report
()
except
Exception
as
e
:
except
Exception
as
e
:
...
@@ -131,4 +121,4 @@ def jasper_export(input_file, output_file=None, schema=None,
...
@@ -131,4 +121,4 @@ def jasper_export(input_file, output_file=None, schema=None,
raise
raise
output_files
=
[
"."
.
join
([
output_file
,
f
])
for
f
in
output_formats
]
output_files
=
[
"."
.
join
([
output_file
,
f
])
for
f
in
output_formats
]
log
.
info
(
output_files
)
log
.
info
(
output_files
)
return
output_files
\ No newline at end of file
\ No newline at end of file
return
output_files
opensipkd/base/views/base_views.py
View file @
cf3b3ad
...
@@ -734,9 +734,13 @@ class BaseView(object):
...
@@ -734,9 +734,13 @@ class BaseView(object):
row
.
updated
=
datetime
.
now
()
row
.
updated
=
datetime
.
now
()
row
.
update_uid
=
user
and
user
.
id
or
None
row
.
update_uid
=
user
and
user
.
id
or
None
for
key
,
value
in
values
.
items
():
for
column
in
row
.
__table__
.
columns
:
if
hasattr
(
row
,
key
):
if
column
.
name
in
values
:
setattr
(
row
,
key
,
value
)
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)
# row.from_dict(values)
# if hasattr(row, "status"):
# if hasattr(row, "status"):
...
...
opensipkd/base/views/register.py
View file @
cf3b3ad
...
@@ -290,7 +290,7 @@ class Registrasi(BaseView):
...
@@ -290,7 +290,7 @@ class Registrasi(BaseView):
else
:
else
:
value
.
pop
(
"idcard"
)
value
.
pop
(
"idcard"
)
value
[
"groups"
]
=
"Guest"
value
[
"groups"
]
=
"Guest"
def
before_add
(
self
):
def
before_add
(
self
):
result
=
{}
result
=
{}
...
@@ -329,7 +329,7 @@ class Registrasi(BaseView):
...
@@ -329,7 +329,7 @@ class Registrasi(BaseView):
return
DBSession
.
query
(
Partner
)
.
\
return
DBSession
.
query
(
Partner
)
.
\
filter
(
Partner
.
email
==
self
.
req
.
user
.
email
)
filter
(
Partner
.
email
==
self
.
req
.
user
.
email
)
def
id_not_found
(
self
):
def
id_not_found
(
self
,
**
kwargs
):
return
return
def
get_values
(
self
,
row
,
istime
=
False
):
def
get_values
(
self
,
row
,
istime
=
False
):
...
@@ -406,7 +406,7 @@ class Registrasi(BaseView):
...
@@ -406,7 +406,7 @@ class Registrasi(BaseView):
'email-new-user.tpl'
)
'email-new-user.tpl'
)
ts
=
_
(
ts
=
_
(
'user-added'
,
'user-added'
,
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
\
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.'
,
'kata kunci sudah dikirim.'
,
mapping
=
{
"email"
:
row
.
email
})
mapping
=
{
"email"
:
row
.
email
})
self
.
ses
.
flash
(
ts
)
self
.
ses
.
flash
(
ts
)
...
@@ -427,4 +427,4 @@ class Registrasi(BaseView):
...
@@ -427,4 +427,4 @@ class Registrasi(BaseView):
values
=
dict
(
c
)
values
=
dict
(
c
)
row
=
self
.
save_request
(
values
)
row
=
self
.
save_request
(
values
)
self
.
after_add
(
row
=
row
,
values
=
values
)
self
.
after_add
(
row
=
row
,
values
=
values
)
return
self
.
route_list
()
\ No newline at end of file
\ No newline at end of file
return
self
.
route_list
()
opensipkd/base/views/user.py
View file @
cf3b3ad
...
@@ -128,7 +128,7 @@ class Views(BaseView):
...
@@ -128,7 +128,7 @@ class Views(BaseView):
# values["company_id"] or None
# values["company_id"] or None
# values["company_id"] = company_id
# values["company_id"] = company_id
if
"company_id"
not
in
values
:
if
"company_id"
not
in
values
:
values
[
"company_id"
]
=
None
values
[
"company_id"
]
=
None
if
'is_api_key'
in
values
:
if
'is_api_key'
in
values
:
values
[
"api_key"
]
=
generate_api_key
()
values
[
"api_key"
]
=
generate_api_key
()
insert
=
not
row
insert
=
not
row
...
@@ -147,7 +147,7 @@ class Views(BaseView):
...
@@ -147,7 +147,7 @@ class Views(BaseView):
data
=
dict
(
email
=
row
.
email
)
data
=
dict
(
email
=
row
.
email
)
ts
=
_
(
ts
=
_
(
'user-added'
,
'user-added'
,
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
\
default
=
'${email} berhasil ditambahkan dan email untuk ubah '
'kata kunci sudah dikirim.'
,
'kata kunci sudah dikirim.'
,
mapping
=
data
)
mapping
=
data
)
self
.
ses
.
flash
(
ts
)
self
.
ses
.
flash
(
ts
)
...
@@ -411,8 +411,8 @@ def user_widget(node, kw):
...
@@ -411,8 +411,8 @@ def user_widget(node, kw):
values
=
kw
.
get
(
'user_list'
,
[])
values
=
kw
.
get
(
'user_list'
,
[])
request
=
kw
.
get
(
"request"
)
request
=
kw
.
get
(
"request"
)
return
widget
.
SelectWidget
(
values
=
values
,
return
widget
.
SelectWidget
(
values
=
values
,
placeholder
=
"Pilih User"
,
placeholder
=
"Pilih User"
,
style
=
"width:300px;"
)
style
=
"width:300px;"
)
class
UserFilterSchema
(
colander
.
Schema
):
class
UserFilterSchema
(
colander
.
Schema
):
...
...
pyproject.toml
View file @
cf3b3ad
[build-system]
[build-system]
requires
=
[
'setuptools
>=
64
'
,
'wheel'
]
requires
=
[
'setuptools
>=
64
'
,
'wheel'
]
build-backend
=
'setuptools.build_meta'
build-backend
=
'setuptools.build_meta'
#requires = ["hatchling"]
#build-backend = "hatchling.build"
[tool.setuptools]
[tool.mypy]
py-modules
=
["opensipkd"]
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]
[project]
name
=
'opensipkd-base'
name
=
'opensipkd-base'
version
=
'
4.2
B
'
version
=
'
4.2
'
dependencies
=
[
dependencies
=
[
'sqlalchemy'
,
'sqlalchemy'
,
'colander'
,
'colander'
,
...
@@ -45,7 +62,8 @@ authors = [
...
@@ -45,7 +62,8 @@ authors = [
{
email
=
"opensipkd@gmail.com"
}
,]
{
email
=
"opensipkd@gmail.com"
}
,]
maintainers
=
[
maintainers
=
[
{
name
=
"Ari"
,
email
=
"ariagungprasetiyo@gmail.com"
}
]
{
name
=
"Ari"
,
email
=
"ariagungprasetiyo@gmail.com"
}
,
{
name
=
"Owo Sugiana"
,
email
=
"sugiana@gmail.com"
}
]
description
=
'Framwork
Aplikasi
openSIPKD'
description
=
'Framwork
Aplikasi
openSIPKD'
readme
=
'README.rst'
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