|
@@ -9,7 +9,6 @@ import os
|
|
|
import signal
|
|
|
import re
|
|
|
import sys
|
|
|
-import getopt
|
|
|
import json
|
|
|
import subprocess
|
|
|
import importlib
|
|
@@ -17,8 +16,7 @@ class Demeter(object):
|
|
|
path = ''
|
|
|
root = ''
|
|
|
config = {}
|
|
|
- serviceObj = {}
|
|
|
- modelObj = {}
|
|
|
+ option = {}
|
|
|
web = ''
|
|
|
request = False
|
|
|
route = []
|
|
@@ -84,6 +82,46 @@ class Demeter(object):
|
|
|
result[item] = config.get(type, item)
|
|
|
return result
|
|
|
|
|
|
+ @classmethod
|
|
|
+ """
|
|
|
+ param = {}
|
|
|
+ param['action'] = 'a'
|
|
|
+ param['name'] = 'n'
|
|
|
+ param['param'] = 'p'
|
|
|
+ Demeter.getopt(param)
|
|
|
+ """
|
|
|
+ def getopt(self, param = {}):
|
|
|
+ import getopt
|
|
|
+ param['help'] = 'h'
|
|
|
+ shortopts = ''
|
|
|
+ longopts = []
|
|
|
+ check = []
|
|
|
+ for k,v in param.items():
|
|
|
+ if k == 'help':
|
|
|
+ shortopts = shortopts + v
|
|
|
+ else:
|
|
|
+ shortopts = shortopts + v + ':'
|
|
|
+ longopts.append(k)
|
|
|
+ try:
|
|
|
+ options, args = getopt.getopt(sys.argv[1:], shortopts, longopts)
|
|
|
+ for name, value in options:
|
|
|
+ for k,v in param.items():
|
|
|
+ if name in ('-' + v, '--' + k):
|
|
|
+ if k == 'help':
|
|
|
+ self.usage()
|
|
|
+ else:
|
|
|
+ self.option[k] = value
|
|
|
+ except getopt.GetoptError:
|
|
|
+ self.usage()
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def usage(self, name = 'usage'):
|
|
|
+ file = self.path + name
|
|
|
+ if not File.exists(file):
|
|
|
+ file = self.root + name
|
|
|
+ print File.read(file)
|
|
|
+ sys.exit()
|
|
|
+
|
|
|
@classmethod
|
|
|
def temp(self, key='', name='', value=''):
|
|
|
temp = Demeter.path + 'conf/temp.conf'
|
|
@@ -119,16 +157,7 @@ class Demeter(object):
|
|
|
name = 'service'
|
|
|
service = self.getClass(name, path)
|
|
|
return service()
|
|
|
- """
|
|
|
- if name not in self.serviceObj:
|
|
|
- path = 'service.'
|
|
|
- if name == 'common':
|
|
|
- path = 'demeter.'
|
|
|
- name = 'service'
|
|
|
- service = self.getClass(name, path)
|
|
|
- self.serviceObj[name] = service()
|
|
|
- return self.serviceObj[name]
|
|
|
- """
|
|
|
+
|
|
|
@classmethod
|
|
|
def adminModel(self, table):
|
|
|
config = ('manage_admin', 'manage_log', 'manage_role')
|
|
@@ -147,17 +176,6 @@ class Demeter(object):
|
|
|
if not model:
|
|
|
model = self.getClass(table, 'model.')
|
|
|
return model(name, connect, config)
|
|
|
- """
|
|
|
- if table not in self.modelObj:
|
|
|
- name = self.config['db'][name]
|
|
|
- config = self.config[name]
|
|
|
- obj = self.getObject('db', 'demeter.')
|
|
|
- db = getattr(obj, name.capitalize())
|
|
|
- connect = db(config).get()
|
|
|
- model = self.getClass(table, 'model.')
|
|
|
- self.modelObj[table] = model(name, connect, config)
|
|
|
- return self.modelObj[table]
|
|
|
- """
|
|
|
|
|
|
@classmethod
|
|
|
def getMethod(self, module):
|
|
@@ -332,7 +350,7 @@ class File(object):
|
|
|
Shell.popen('chmod +x ' + file)
|
|
|
|
|
|
@staticmethod
|
|
|
- def read(path, name):
|
|
|
+ def read(path, name = ''):
|
|
|
handle = open(path + name, 'r')
|
|
|
content = handle.read()
|
|
|
handle.close()
|