Refactor pyproject.toml for package discovery and add new dependencies

- Updated package configuration to use setuptools' find_packages with namespace support.
- Included new dependencies: lxml and pandas.
- Created __init__.py in the models module to import from base models.
1 parent b977ea79
...@@ -345,16 +345,16 @@ def main(global_config, **settings): ...@@ -345,16 +345,16 @@ def main(global_config, **settings):
settings['localization'] = 'id_ID.UTF-8' settings['localization'] = 'id_ID.UTF-8'
if settings.get("lib_dir"): if settings.get("lib_dir"):
sqlalchemy_url = settings.get("sqlalchemy.url") # sqlalchemy_url = settings.get("sqlalchemy.url")
if sqlalchemy_url and sqlalchemy_url.find("oracledb") > -1: # if sqlalchemy_url and sqlalchemy_url.find("oracledb") > -1:
try: try:
import oracledb import oracledb
oracledb.init_oracle_client(lib_dir=settings.get("lib_dir")) oracledb.init_oracle_client(lib_dir=settings.get("lib_dir"))
# Apply the global configuration handler to your connection pool # Apply the global configuration handler to your connection pool
oracledb.defaults.outputtypehandler = datetime_output_handler oracledb.defaults.outputtypehandler = datetime_output_handler
_logging.debug("oracledb initialized") _logging.debug("oracledb initialized")
except: except:
pass pass
...@@ -363,7 +363,7 @@ def main(global_config, **settings): ...@@ -363,7 +363,7 @@ def main(global_config, **settings):
if 'timezone' not in settings: if 'timezone' not in settings:
settings['timezone'] = DefaultTimeZone settings['timezone'] = DefaultTimeZone
# settings["captcha_files"] = "c:\\tmp\\captcha\\" # settings["captcha_files"] = "c:\\tmp\\captcha\\"
tmp = get_params("temp_files", tempfile.gettempdir(), settings=settings) tmp = settings.get("temp_files", tempfile.gettempdir())
settings["temp_files"] = tmp settings["temp_files"] = tmp
settings['captcha_files'] = os.path.join(tmp, "captcha") + os.sep settings['captcha_files'] = os.path.join(tmp, "captcha") + os.sep
......
...@@ -13,10 +13,10 @@ from sqlalchemy.orm import ( ...@@ -13,10 +13,10 @@ from sqlalchemy.orm import (
backref backref
) )
from opensipkd.models import Partner # from opensipkd.models import
from ..models import DBSession, Base # from ..models import DBSession,
from ..models import (DefaultModel, NamaModel, TABLE_ARGS, from . import (DefaultModel, NamaModel, TABLE_ARGS,
Departemen) Departemen, Partner, Base)
class Eselon(Base, NamaModel): class Eselon(Base, NamaModel):
...@@ -64,7 +64,7 @@ class PartnerDepartemen(Base, DefaultModel): ...@@ -64,7 +64,7 @@ class PartnerDepartemen(Base, DefaultModel):
@classmethod @classmethod
def query_jabatan(cls, partner_id, tanggal): def query_jabatan(cls, partner_id, tanggal):
query = DBSession.query(cls). \ query = self.db_session.query(cls). \
filter(cls.partner_id == partner_id, filter(cls.partner_id == partner_id,
tanggal >= cls.mulai, tanggal >= cls.mulai,
tanggal <= cls.selesai) tanggal <= cls.selesai)
......
This diff could not be displayed because it is too large.
from ..base.models import *
...@@ -2,11 +2,13 @@ ...@@ -2,11 +2,13 @@
requires = ['setuptools >= 64', 'wheel'] requires = ['setuptools >= 64', 'wheel']
build-backend = 'setuptools.build_meta' build-backend = 'setuptools.build_meta'
[tool.setuptools] # [tool.setuptools]
packages = ["opensipkd", "opensipkd.detable", "opensipkd.base"] # packages = ["opensipkd", "opensipkd.detable", "opensipkd.base"]
#data-file = [
#("etc/base", ["etc/ojdbc8.jar", "etc/osipkd.service"]), [tool.setuptools.packages.find]
#] include = ["opensipkd.*"]
namespaces = true # This is the critical line for shared prefixes!
[tool.mypy] [tool.mypy]
exclude = [ exclude = [
'bak', 'bak',
...@@ -41,6 +43,8 @@ dependencies = [ ...@@ -41,6 +43,8 @@ dependencies = [
'websockets', 'websockets',
"asyncio", "asyncio",
"pdfkit", "pdfkit",
"lxml",
"pandas"
] ]
requires-python = '>= 3.8' requires-python = '>= 3.8'
authors = [ authors = [
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!