Last active
December 5, 2019 06:46
-
-
Save vikas-git/7eaa500330be4107c62dc10ca9514ad4 to your computer and use it in GitHub Desktop.
Some important functions
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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