Skip to content

Instantly share code, notes, and snippets.

@vinovator
vinovator / CombinePDF.py
Created June 26, 2015 08:17
This code is used to combine 2 separate pdf files and create a single pdf file with combined content. The user needs to input the names of 2 pdf source files and the name of the destination file. The 2 source files need to be present in the folder specified in the code.
#Python 3
#CombinePDF.py
#Gets inputs of 2 PDF file names from user and combines them into 1
import PyPDF2
import os
def getFileNameFromUser (file):
pdf_file_name = input("Enter {0} name: ".format(file))
if pdf_file_name in os.listdir():
@vinovator
vinovator / DueReminder.py
Created June 29, 2015 07:11
Scenario: You maintain a membership list with due paid information maintained in an excel file. This program will automatically read the due payment informamtion and store the due pending list in a notepad file. This program can be further extended to include send text mail and send sms.
#python 3
#Read the list of names and email ids from an excel file and populate them in a text file
import openpyxl
import os
import time
def fetchUnpaidMembers(max_row, max_col, sheet):
member_count = 0
mydict = {}
@vinovator
vinovator / XKCDDownloader.py
Last active June 10, 2018 06:19
Download all XKCD comics - incomplete
# Python 3
# XKCDDownloader.py
########################################################################################################################
# Algorithm
# 1) Open the latest page of XKCD
# 2) Download the image, title and alternate text from the page and save the images in specified folder
# 3) Build a html file which contains the alt, title and src in a html file
# 4) If any error in download skip the page
# 5) Find the previous page url from current page and repeat steps 2, 3 & 4
# 6) Continue until you find the very 1st comic
@vinovator
vinovator / FileManipulation.py
Last active August 29, 2015 14:25
Basic methods and best practices for file manipulation
# Python 3.4
import os
# Windows uses backward slash; Mac & Linux uses forward slash
# But python will always recognise forward slash
# Python recognises everything as a sequence of unicode characters (string)
# Computer manages directories as a sequence of bytes (byte stream)\
# To read or write unicode characters from byte stream, encoding is required
# Different OS use different methods for encoding
@vinovator
vinovator / shopper.py
Last active August 29, 2015 14:25
Open multiple shopping sites for one search parameter
# python 3
# shopper.py
'''
This is a very simple and effective program.
Open multiple shopping sites for one search parameter at one go
Search for a product term as a command prompt argument
Multiple words separated by space is fine
e.g. shooper.py iphone 6
'''
@vinovator
vinovator / pdfInvoiceMiner.py
Created July 26, 2015 19:03
From a set of invoice pdf files within a folder, extract the invoice number and client information and place them in an excel file
__author__ = 'Vinoth_Subramanian'
# Python3
# pdfInvoiceMiner.py
# Program to extract the client info and invoice no from a bunch of invoice pdf files
# pdfminer3k library is used to extract text from pdf
# PyPDF2 library does not extract the text from pdf properly
# place all the invoice pdf files within a folder named "INVOICE"
# place an excel file named "invoice_info.xlsx" in the parent folder of "INVOICE"
# First column - invoice no; Second column - client details
@vinovator
vinovator / RestfulGetClient.py
Last active June 28, 2022 22:48
A sample code to invoke GET method of restful API with digest authentication
#Python 2.7.6
#RestfulClient.py
import requests
from requests.auth import HTTPDigestAuth
import json
# Replace with the correct URL
url = "http://api_url"
@vinovator
vinovator / RestfulPostClient.py
Last active October 2, 2015 14:04
A sample restful client for POST operation - assumes digest authentication
# RestfulPostClient.py
# Python 2.7.6
import requests
from requests.auth import HTTPDigestAuth
# import json # Json module is not required as we are directly passing json to requests
# Replace with the correct URL
url = "http://api_url"
@vinovator
vinovator / getHttpHeader.py
Last active October 2, 2015 14:24
Get the request header and response header from a http request-response sequence. Assumes that the url accepts digest authentication
# getHttpHeader.py
# Python 2.7.6
import requests
from requests.auth import HTTPDigestAuth
import getpass # To mask the password typed in
# Replace with the correct URL
url = "http://some_url"
@vinovator
vinovator / fileExplorer.py
Last active October 2, 2015 19:44
Loop through a folder path and extract all files and sub-folders. Get count of files by extension.
# fileExplorer.py
# python 2.7.6
import os
# defaultdict is used to have keys created if it doesn't exist or appended it if exists
from collections import defaultdict
folder_count = 0
file_count = 0
loop_count = 0