def _calculate_summary(self):
     summary = db.get_data("SELECT parameter, value FROM digin_usage_summary "
                           "WHERE user_id = '{0}' AND tenant = '{1}'".format(self.user_id, self.tenant))
     if summary['rows'] == ():
         db.insert_data(self.insert_obj,'digin_usage_summary')
     else:
         update_obj = []
         residue_insert = []
         for i in self.insert_obj:
             for j in summary['rows']:
                 if i['parameter'] == j[0]:
                     if self.is_increment:
                         update_obj.append({i['parameter']:str(int(j[1])+int(i['value']))})
                     else:
                         update_obj.append({i['parameter']: str(int(j[1])-int(i['value']))})
                     break
             else:
                 residue_insert.append({'parameter':i['parameter'],'value':i['value'],'user_id':self.user_id,'tenant':self.tenant})
                 continue
         if update_obj:
             for record in update_obj:
                 db.update_data('digin_usage_summary',"WHERE parameter = '{0}' AND user_id = '{1}' AND tenant = '{2}' "
                                .format(list(record.keys())[0], self.user_id,self.tenant), value = record.itervalues().next(),
                                modifieddatetime=datetime.datetime.now())
         if residue_insert:
             db.insert_data(residue_insert,'digin_usage_summary')
 def deactivate_packages(self):
     ""
     if self.is_default:
         try:
             db.update_data('digin_tenant_package_details'," WHERE tenant_id = '{0}' AND package_id IN ({1},{2},{3},{4})".format(self.tenant,int(free_package),int(default_1),int(default_2),int(default_3)),
                            package_status = 'deactivated')
         except Exception, err:
             print "Error inserting to DB!"
             return cmg.format_response(False, err, "Error occurred while deactivate_packages.. \n" + str(err),
                                           exception=sys.exc_info())
def store_user_settings(params,user_id, domain):

    data_object = [{'user_id': user_id,
             'email': params['email'],
             'components': params['components'],
             'user_role': params['user_role'],
             'cache_lifetime': 300 if params['cache_lifetime'] is None else int(params['cache_lifetime']),
             'widget_limit': default_user_settings['widget_limit'] if params['widget_limit'] is None else int(params['widget_limit']),
             'query_limit': default_user_settings['query_limit'] if params['query_limit'] is None else int(params['query_limit']),
             'logo_path': '/digin_user_data/'+user_id+'/'+domain+'/logos/'+params['logo_name'],
             'dp_path': '/digin_user_data/'+user_id+'/'+domain+'/DPs/'+params['dp_name'],
             'theme_config': params['theme_config'],
             'modified_date_time': datetime.datetime.now(),
             'created_date_time': datetime.datetime.now(),
             'domain': domain
             }]
    logger.info("Data received!")
    logger.info(data_object)
    existance = CC.get_data("SELECT user_id from digin_user_settings where user_id = '{0}' AND domain = '{1}'".format(user_id, domain))
    if existance['rows'] != ():
        try:
            CC.update_data('digin_user_settings',"WHERE user_id='{0}'".format(user_id),
                           components=params['components'],
                           user_role=params['user_role'],
                           cache_lifetime=int(params['cache_lifetime']),
                           widget_limit=int(params['widget_limit']),
                           query_limit=int(params['query_limit']),
                           logo_path='/digin_user_data/'+user_id+'/'+domain+'/logos/'+params['logo_name'],
                           dp_path='/digin_user_data/'+user_id+'/'+domain+'/DPs/'+params['dp_name'],
                           theme_config=params['theme_config'],
                           modified_date_time=datetime.datetime.now())
            return cmg.format_response(True,1,"User settings updated successfully")
        except Exception, err:
            logger.error("Error updating user settings")
            logger.error(err)
            print "Error updating user settings"
            print err
            raise
def _temporary_delete_components(comp_id, table, user_id, domain):
        try:
            is_access_valid = CC.get_data("SELECT digin_comp_id FROM digin_component_header a INNER JOIN "
                                          "digin_component_access_details b ON a.digin_comp_id = b.component_id "
                                          "WHERE digin_comp_id = {0} AND domain = '{1}' AND user_id = '{2}'".format(comp_id,domain,user_id))
            if int(is_access_valid['rows'][0][0]) == int(comp_id):
                result = CC.update_data(table,'WHERE digin_comp_id = {0}'.format(comp_id),is_active=False)
                _rate_calculation_helper(False, comp_id, 'dashboard', user_id, domain) # Component count is decremented when components moved to Trash
                print 'Component deleted user_id: {0}, tenant: {1}, component_id: {2}'.format(user_id, domain, comp_id)
            else:
                result = 'No component found for deletion user_id: {0}, tenant: {1}, component_id: {2}'.format(user_id,domain,comp_id)
                print result
                return result
        except Exception, err:
            print err
            raise
def update_data(dj):
    date = dt.datetime.now()
    ##update all the values
    cache.update_data('wordcloud', 'WHERE d_name = "test1"', data = dj, DateTime = date)
    logger.info('Inserted results into wordcloud table')
                db.insert_data(package_data, 'digin_packagedetails')
            except Exception, err:
                print "Error inserting to DB!"
                result = cmg.format_response(False, err,
                                             "Error occurred while inserting additional_packages.. \n" + str(err),
                                             exception=sys.exc_info())
                return result
        return cmg.format_response(True, 0, "Package updated successfully")

    def deactivate_packages(self):
        ""
        if self.is_default:
            try:
                db.update_data('digin_tenant_package_details'," WHERE tenant_id = '{0}' AND package_id IN ({1},{2},{3},{4})".format(self.tenant,int(free_package),int(default_1),int(default_2),int(default_3)),
                               package_status = 'deactivated')
            except Exception, err:
                print "Error inserting to DB!"
                return cmg.format_response(False, err, "Error occurred while deactivate_packages.. \n" + str(err),
                                              exception=sys.exc_info())

        else:
            try:
                db.update_data('digin_tenant_package_details',
                               " WHERE package_id = '{0}' AND tenant_id = '{1}'".format(self.package_id, self.tenant),
                               package_status='deactivated')
            except Exception, err:
                print "Error inserting to DB!"
                return cmg.format_response(False, err,
                                           "Error occurred while deactivate additional_packages.. \n" + str(err),
                                           exception=sys.exc_info())
                                          'digin_comp_id':DiginCompID, 'version_id':1,'size_x':widget['sizeX'],'size_y':widget['sizeY'],'row':widget['row'],'col':widget['col'],
                                          'comp_page_id': page_id}], 'digin_component_detail')
                        logger.info("Digin Widget Successfully created")
                     except Exception, err:
                        logger.error("Error in updating cache. %s" % err)
                        return cmg.format_response(False,None,'Error occurred while saving dashboard!',sys.exc_info())
             logger.info("Dashboard saving successful!")
             print "Dashboard saving successful!"
             return cmg.format_response(True,DiginCompID,"Successfully saved!")
         else:
             try:
                CC.update_data('digin_component_header','WHERE digin_comp_id ={0}'.format(data["compID"]),
                               modified_date_time=datetime.datetime.now(),
                               digin_comp_name=DiginCompName,
                               digin_comp_class=DiginCompClass,
                               digin_comp_type=DiginCompType,
                               digin_comp_category=DiginCompCategory,
                               refresh_interval=RefreshInterval,
                               last_modified_user=User_id
                               )
                logger.info("Digin component successfully updated")
             except Exception, err:
                logger.error("Error in updating component. %s" % err)
                pass

             for page in pages:
                 try:
                     if page['pageID'] is not None:
                         CC.update_data('digin_component_page_detail','WHERE digin_comp_id ={0} AND page_id ={1}'
                                        .format(data["compID"],page['pageID']),
                                        page_name=page['pageName'],