commons package

Submodules

commons.appcache module

class commons.appcache.AppCache(mvclog, mvclogname, py_type)[ソース]

ベースクラス: object

python ファイルを読み込む。 HaluConf の'load_type' の設定値に応じてデータをキャッシュする(未実装)。

filepath
Type:

FilePath

appendpath
Type:

AppendPath

mvclog

ログ出力用オブジェクト。

Type:

HaluLogger

mvclogname

ログの出力ファイル名。

Type:

str

py_type

python ファイルの種類('controller.py'/ 'model.py'/ 'view.py'/ 'form.py')

Type:

str

createCache()[ソース]

load_type が'static' もしくは'dynamic'の時に使う。

createHash()[ソース]

load_type が'static' もしくは'dynamic'の時に使う。

getAppData(data)[ソース]

アプリデータを取得する。

パラメータ:

data (json) -- リクエストデータ、SQLデータ、レスポンスデータのいずれか

戻り値:

app_data -- python ファイルの文字列データ -> self.getFileData() の戻り値

戻り値の型:

str

getControllerObject(requestdict, validation_data)[ソース]

サーバプログラム実行用のコントローラクラスを動的にインスタンス。 サーバプログラムとサーバプログラム用モジュール(Sever/Commons)のパス追加も行う。

パラメータ:
  • requestdict (json)

  • validation_data (json)

戻り値:

app_object -- サーバプログラムを実行するクラスのインスタンスオブジェクト

戻り値の型:

object

getFileData(file_path)[ソース]

python プログラムファイルを読み込む。 load_type が'file' 以外の場合はキャッシュからデータを取得(未実装)。

パラメータ:

file_path (str) -- ファイルパス -> FilePath.getAppsPath() の戻り値

戻り値:

file_data -- python ファイルの文字列データ -> FilePath.readFile() の戻り値

戻り値の型:

str

getFormImportString(data)[ソース]

プログラム実行クラスのimport 用文字列を生成。 クラスが不要(python プログラムが呼ばれない)の場合、空文字をリターン。

パラメータ:

data (json) -- コントローラはrequestdict , モデルはsqldict, ビューはresponsedict

戻り値:

  • class_name (str) -- インスタンスするクラス名

  • w_import (str) -- クラスのimport 文 -> 'from [File_name] import [Class_name]'

getFormObject(excelcreate, responsedict, sqldict, requestdict)[ソース]

フォームクラスを動的にインスタンス。 サーバプログラムとサーバプログラム用モジュール(Sever/Commons)のパス追加も行う。

パラメータ:
  • pdfcreate

  • responsedict (json)

  • sqldict (json)

  • requestdict (json)

戻り値:

app_object -- プログラムを実行するクラスのインスタンス。

戻り値の型:

object

getImportString(data)[ソース]

プログラム実行クラスのimport 用文字列を生成。 クラスが不要(python プログラムが呼ばれない)の場合、空文字をリターン。

パラメータ:

data (json) -- コントローラはrequestdict , モデルはsqldict, ビューはresponsedict

戻り値:

  • class_name (str) -- インスタンスするクラス名

  • w_import (str) -- クラスのimport 文 -> 'from [File_name] import [Class_name]'

getModelObject(database, sqldict, requestdict)[ソース]

サーバプログラム実行用のモデルクラスを動的にインスタンス。 サーバプログラムとサーバプログラム用モジュール(Sever/Commons)のパス追加も行う。

パラメータ:
  • database (database)

  • sqldict (json)

  • requestdict (json)

戻り値:

app_object -- サーバプログラムを実行するクラスのインスタンスオブジェクト

戻り値の型:

object

getViewObject(responsedict, sqldict, requestdict)[ソース]

サーバプログラム実行用のビュークラスを動的にインスタンス。 サーバプログラムとサーバプログラム用モジュール(Sever/Commons)のパス追加も行う。

パラメータ:
  • responsedict (json)

  • sqldict (json)

  • requestdict (json)

戻り値:

app_object -- サーバプログラムを実行するクラスのインスタンスオブジェクト

戻り値の型:

object

commons.appendpath module

class commons.appendpath.AppendPath[ソース]

ベースクラス: object

パスを動的に追加する。

hconf

設定情報読み込み用オブジェクト。クラス変数として保持。

Type:

HaluConf

append_apppath(data)[ソース]

サーバプログラム実行用クラスのパスを動的に追加する。 json 内の"html" からパスを生成して追加する。

パラメータ:

data (json) -- コントローラはrequestdict , モデルはsqldict, ビューはresponsedict

append_modulepath(data)[ソース]

サーバプログラムで利用するモジュール用パスを動的に追加する。

パラメータ:

project_name (str) -- プロジェクト名

hconf = <halumain.haluconf.HaluConf object>

commons.datamapping module

class commons.datamapping.DataMapping[ソース]

ベースクラス: object

項目移送を行う。 tran.json/ sql.json で'fromtype' が設定されている項目のvalue データを編集する。

fromRequestEditValue(value, requestdict)[ソース]

tran.json/ sql.json で'fromtype' が'request' の項目が対象。 リクエストデータの指定id の値をvalueデータに移送する。

パラメータ:
  • value (dict.value) -- sql_info['input']['record']['value']/ response_record['value']

  • requestdict (dict(json))

fromSqlInputEditValue(value, sqldict)[ソース]

tran.json/ sql.json で'fromtype' が'sqls' かつ 'fromio' が'input'の項目が対象。 SQLデータの指定id の入力データの値をvalueデータに移送する。

パラメータ:
  • value (dict.value) -- sql_info['input']['record']['value']/ response_record['value']

  • sqldict (dict(json))

fromSqlOutputEditValue(value, sqldict)[ソース]

tran.json/ sql.json で'fromtype' が'sqls' かつ 'fromio' が'output'の項目が対象。 SQLデータの指定id の出力データの値をvalueデータに移送する。

パラメータ:
  • value (dict.value) -- sql_info['input']['record']['value']/ response_record['value']

  • sqldict (dict(json))

commons.dynamicapp module

class commons.dynamicapp.DynamicApp[ソース]

ベースクラス: object

before after メソッドを動的に実行する。

doBeforeAfterMethod(method_type, record_info, temp_object)[ソース]

json に指定されているbefore/ after メソッドを実行する。

パラメータ:
  • method_type (str) -- メソッドの種類('before'/ 'after')

  • record_info (dict) -- requestdict['records']/ sqldict['sqls']/ responsedict['records']

  • temp_object (object) -- メソッド実行オブジェクト。AppCache クラスでインスタンスされる。

戻り値:

result -- メソッド実行結果('OK'/ 'ERROR')

戻り値の型:

str

doMethod(obj, method_name, arg)[ソース]

getattr でメソッドを実行する。

パラメータ:
  • obj (object) -- メソッド実行オブジェクト。

  • method_name (str) -- 実行するメソッド名。

  • arg (list) -- 引数。

戻り値:

result -- メソッド実行結果('OK'/ 'ERROR')

戻り値の型:

str

splitMethodStr(method_str)[ソース]

json に記載されているメソッドの文字列からメソッド名(method_name)と引数(arg)を取得する。 例)'setSql_InitOfTest(arg1, arg2)'

-> method_name = 'setSql_InitOfTest'

arg = ['arg1', 'arg2']

パラメータ:

method_str (str) -- メソッドの文字列 -> record_info[method_type]

戻り値:

  • method_name (str) -- メソッド名

  • arg (list) -- 引数

commons.filepath module

class commons.filepath.FilePath(mvclog, mvclogname)[ソース]

ベースクラス: object

ファイル操作およびファイルパスの取得、編集を行う。

hconf

設定情報読み込み用オブジェクト。クラス変数として保持。

Type:

HaluConf

mvclog

ログ出力用オブジェクト。

Type:

HaluLogger

mvclogname

ログの出力ファイル名。

Type:

str

getAppsPath(py_type, data)[ソース]

pyファイルの絶対パスを取得する。

パラメータ:
  • py_type (str) -- controller.py/ model.py/ view.py

  • data (json) -- requestdict/ sqldict/ responsedict

戻り値:

pyファイル名(絶対パス)

戻り値の型:

apps_path1

getFolderName(data)[ソース]

JSONデータのhtml情報からプログラムフォルダ名を取得する。 例)'Member/Json/Apps/Login' -> 'Login'

パラメータ:

data (json) -- リクエストデータ、SQLデータ、レスポンスデータのいずれか

戻り値:

folder_name -- フォルダ名

戻り値の型:

str

getJsonsPath(json_type, data)[ソース]

JSONファイルの絶対パスを取得する。

パラメータ:
  • json_type (str) -- validation.json/ sql.json/ tran.json

  • data (json) -- requestdict/ sqldict/ responsedict

戻り値:

jsons_path + json_type -- JSONファイル名(絶対パス)

戻り値の型:

str

getProjectName(data)[ソース]

JSONデータのhtml情報からプロジェクト名を取得する。 例)'Member/Json/Apps/Login' -> 'Member'

パラメータ:

data (json) -- リクエストデータ、SQLデータ、レスポンスデータのいずれか

戻り値:

プロジェクト名

戻り値の型:

project_name

hconf = <halumain.haluconf.HaluConf object>
readFile(file_name)[ソース]

ファイルの絶対パスを使用して、ファイル内容を文字コード:UTF-8で読み込む。

パラメータ:

file_name (str) -- 読み込み対象ファイルの絶対パス

戻り値:

data

戻り値の型:

ファイル内に記述された情報

readlinesFile(file_name)[ソース]

CSVの際、使用。? ファイル名(パス情報含む)を使用してファイルを文字コード:UTF-8で読み込み、配列に格納する。

パラメータ:

file_name (str) -- 読み込み対象ファイルの絶対パス

戻り値:

arraydata -- 配列に格納されたデータ

戻り値の型:

list

writeCodeFile()[ソース]
writeFile(file_name, data)[ソース]

Json文字列をファイルに出力する?(呼び出し元に記述あり) ファイルを開き、data(json文字列)を書き込む?

パラメータ:
  • file_name (str) -- 出力ファイルの絶対パス

  • data (json) -- 出力する文字列データ

commons.jsoncache module

class commons.jsoncache.JsonCache(mvclog, mvclogname, json_type)[ソース]

ベースクラス: object

Json ファイルを読み込む。 HaluConf の'load_type' の設定値に応じてデータをキャッシュする(未実装)。

hconf
Type:

HaluConf

filepath
Type:

FilePath

json_type

json ファイルの種類('validation.json'/ 'sql.json'/ 'tran.json'/ 'form.json')

Type:

str

createCache()[ソース]

load_type が'static' もしくは'dynamic'の時に使う。

createHash()[ソース]

load_type が'static' もしくは'dynamic'の時に使う。

getDynamicData()[ソース]

load_type が'dynamic' 時に使う。

getFileData(file_path)[ソース]

json ファイルを読み込む。 load_type が'file' 以外の場合はキャッシュからデータを取得(未実装)。

パラメータ:

file_path (str) -- ファイルパス -> FilePath.getJsonPath() の戻り値

戻り値:

file_data -- json ファイルの文字列データ -> FilePath.readFile() の戻り値

戻り値の型:

str

getJsonData(data)[ソース]

JSONファイル名(パス情報)の取得。

パラメータ:

data (json) -- リクエストデータ、レスポンスデータのいずれか

戻り値:

filepath.readFileの結果情報(jsonデータ)を読み込み、ハッシュに置き換える。

戻り値の型:

json.loads(json_data)

getStaticData()[ソース]

load_type が'static' 時に使う。

commons.jsonchunk module

使用法

import 方法(getjsonchunkbyidが直接記述できる) from commons.jsonchunk import getjsonchunkbyid

リクエスト・レスポンスの指定方法 getjsonchunkbyid(jsondict, 'records', 'idname') getjsonchunkbyid(jsondict, 'records', 'idname', 'record')

SQLの指定方法 getjsonchunkbyid(jsondict, 'sqls', 'idname') getjsonchunkbyid(jsondict, 'sqls', 'idname', 'input') getjsonchunkbyid(jsondict, 'sqls', 'idname', 'input', 'record') getjsonchunkbyid(jsondict, 'sqls', 'idname', 'output') getjsonchunkbyid(jsondict, 'sqls', 'idname', 'output', 'record')

commons.jsonchunk.getjsonchunkbyid(jsondict, listname, idname, *args)[ソース]

commons.mail module

class commons.mail.Mail(mvclog, mvclogname)[ソース]

ベースクラス: object

メール送信用のクラス。メールの作成・送信を行う。

mvclog

ログ出力用オブジェクト。

Type:

HaluLogger

mvclogname

ログの出力ファイル名。

Type:

str

create_message(from_addr, to_addr, subject, body)[ソース]

メールメッセージ(MIMEText)を作成する。

パラメータ:
  • from_addr (str) -- 送信元メールアドレス

  • to_addr (str) -- 宛先メールアドレス

  • subject (str) -- メールのタイトル

  • body (str) -- メールの本文

戻り値:

msg -- 作成したメールメッセージ(MIMEText)

戻り値の型:

dict

send_mail(server_addr, port, user_addr, password, msg)[ソース]

メールを送信する。

パラメータ:
  • server_addr (str) -- メールサーバのアドレス

  • port (str) -- メールサーバのポート番号

  • user_addr (str) -- メールサーバのログインアドレス

  • password (str) -- メールサーバのログインパスワード

  • msg (dict) -- メールメッセージ(MIMEText)

commons.specialcharconvert module

class commons.specialcharconvert.SpecialCharConvert[ソース]

ベースクラス: object

特殊文字(', ", ?, )を変換/ 変換した特殊文字をもとに戻す

editRequestDataToSpecialChar(requestdict)[ソース]

リクエストデータの特殊文字を変換する

パラメータ:

requestdict (dict) -- HaluController から受け取ったリクエストデータ 0.tran.jsonの"request": {}を受け取る 1."records": [{}を探す 2."record": {}を探す 3."ログインID":{"value": [""] }を探す 4.{"value": [""] }の[""]をvarにする 5.varが文字列なら置き換える

戻り値:

requestdict -- 特殊文字を変換済のリクエストデータ

戻り値の型:

dict

editSqlDataToNormalChar(before_string)[ソース]

バインド変数置換後の文字列の特殊文字を元に戻す

パラメータ:

before_string (str) -- SQL文字列(createSQLメソッドの戻り値)

戻り値:

after_string4 -- 特殊文字を変換済のSQL文字列

戻り値の型:

str

Module contents