Skip to content

Instantly share code, notes, and snippets.

@vikas-git
Last active December 5, 2019 06:46
Show Gist options
  • Save vikas-git/7eaa500330be4107c62dc10ca9514ad4 to your computer and use it in GitHub Desktop.
Save vikas-git/7eaa500330be4107c62dc10ca9514ad4 to your computer and use it in GitHub Desktop.
Some important functions
import os
from datetime import datetime
from django.conf import settings
from django.db import connection
from django.core.files.storage import FileSystemStorage
def get_dict_wise_data(columns,cursor):
results = []
for row in cursor.fetchall():
results.append(dict(zip(columns, row)))
return results
def str_to_date(datestring, _format='%Y-%m-%d'):
return datetime.strptime(datestring, _format)
def date_to_str(dateObj, _format='%Y-%m-%d'):
return dateObj.strftime(_format)
def insert_using_panda(table_name,data_frame):
HOST=settings.DATABASES['default']['HOST']
USER=settings.DATABASES['default']['USER']
PASSWORD=settings.DATABASES['default']['PASSWORD']
DB_NAME=settings.DATABASES['default']['NAME']
PORT=settings.DATABASES['default']['PORT']
#print("hello")
engine_str="mysql+pymysql://{user}:{pw}@{host}/{db}".format(user=USER,pw=PASSWORD,host=HOST,db=DB_NAME)
engine = create_engine(engine_str)
data_frame.to_sql(con=engine, name=table_name, if_exists='append',chunksize=1000, index=False)
def convert_float(value, places=2):
return float(round(float(value), places))
# get full information about exception
try:
statements
except Exception as e1:
print "bad Results"
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback_details = {
'file_name': exc_traceback.tb_frame.f_code.co_filename,
'line_no' : exc_traceback.tb_lineno,
'name' : exc_traceback.tb_frame.f_code.co_name,
'type' : exc_type.__name__,
'message' : exc_value.message, # or see traceback._some_str()
'time' : datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
}
# ------------------------------------------ Django Based ----------------------------------------------
def upload_file(file_obj, upload_location, base_name=False):
'''
use this function for upload files
Parameters:
file_obj : object of file
upload_location : your file uploaded location
'''
if not file_obj or not upload_location:
assert False, "Please pass valid parameters in upload_file()"
fs = FileSystemStorage(location=upload_location)
filename = fs.save(file_obj.name, file_obj)
uploaded_file_name = fs.url(filename)
uploaded_file_url = upload_location + '/' + str(uploaded_file_name)
if base_name:
return uploaded_file_name
return uploaded_file_url
#common function for run query
def sql_query(query, return_result=False):
try:
result = None
cursor = connection.cursor()
cursor.execute(query)
if return_result:
columns = [col[0] for col in cursor.description]
result = cursor.fetchall(), columns
except Exception as e:
print(e)
return result
def get_or_none(model, *args, **kwargs):
'''
model : pass model class
*args, **kwargs
'''
try:
return model.objects.values().get(*args, **kwargs)
except model.DoesNotExist:
return {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment