コード例 #1
0
 def __init__(self) :
     logger = MLogger('report generator')
     self._logger = logger.get_logger()
     try:
         self._db = DBManager().get_query()
     except MySQLdb.Error, message:
         self._logger.error("Report generator. Init mysql db manager error - %s" % message)
         log_traceback(self._logger, traceback)
         print simplejson.dumps({'status': 'ERROR', 'message': '%s' % message})
         sys.exit()
コード例 #2
0
 def __init__(self) :
     self._db = DBManager().get_query()
     logger = MLogger('report data manager')
     self._logger = logger.get_logger()
コード例 #3
0
def _clone_element(_db, original_element_id, new_element_id):
    """
    Used to clone dashboard element. Only in test mode (-t), because in real usage element is cloned by php backend
    """
    _db.Query("SELECT * FROM dashboard_element WHERE element_id = %s", (original_element_id, ))
    record = dict(_db.record[0])
    record['element_id'] = new_element_id
    #record['primary_topic_id'] = None
    column_count = len(record)
    columns_sql = ", ".join(record.keys())
    values_placeholders_sql = "%s, " * column_count
    sql_insert = _sql_insert % ('dashboard_element', columns_sql, values_placeholders_sql[:-2])
    _db.Query(sql_insert, tuple(record.values()))

if __name__ == "__main__":
    logger = MLogger('report duplication')
    _logger = logger.get_logger()

    params = sys.argv[1:]
    usage = """Usage:
report_duplicate.py <original_element_id> <new_element_id> [-t] [-p[-c]] [-d] | -h

<original_element_id> : original dashboard element_id.
<new_element_id>      : new dashboard element_id.
-p                    : duplicate pivots
-c                    : duplicate charts. Duplicate all charts if -p is set, only non-pivot charts if -p not set.
-d                    : duplicate drill-to links.
-t                    : only in the test mode, element is duplicated (in real usage it's done by the php backend)
-h,--h,-help,--help   : show this message.

Notice: