added parameter onlydigits
This commit is contained in:
parent
6d0650b6c6
commit
f414043d1c
|
@ -6,6 +6,7 @@ import argparse,json,sys
|
||||||
from oauth2client.service_account import ServiceAccountCredentials
|
from oauth2client.service_account import ServiceAccountCredentials
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
from os import remove
|
from os import remove
|
||||||
|
import re
|
||||||
|
|
||||||
import base64
|
import base64
|
||||||
|
|
||||||
|
@ -21,7 +22,7 @@ Version = {__version__}
|
||||||
|
|
||||||
Manual execution
|
Manual execution
|
||||||
|
|
||||||
python3 pandora_googlesheets.py --creds_json/creds_base64 <file credentials> --name <name document> --sheet <name-sheet> --cell <Number cell> --row <number-row> --column <number-column>
|
./pandora_googlesheets --creds_json/creds_base64 <file credentials> --name <name document> --sheet <name-sheet> --cell <Number cell> --row <number-row> --column <number-column>
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -33,13 +34,16 @@ parser.add_argument('--cell', help='To collect the value of a cell.')
|
||||||
parser.add_argument('--row', help='To collect the value of a row.',type=int)
|
parser.add_argument('--row', help='To collect the value of a row.',type=int)
|
||||||
parser.add_argument('--column', help='To collect the value of a column.',type=int)
|
parser.add_argument('--column', help='To collect the value of a column.',type=int)
|
||||||
parser.add_argument('--sheet', help='To indicate the name of the document sheet, put it in quotation marks and count spaces and capital letters.',type=str)
|
parser.add_argument('--sheet', help='To indicate the name of the document sheet, put it in quotation marks and count spaces and capital letters.',type=str)
|
||||||
|
parser.add_argument('--onlydigits', help='To parse the value of the cell if its not a digit',default=0)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
|
scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
|
||||||
|
|
||||||
|
|
||||||
|
def convert_to_number(s):
|
||||||
|
cleaned_value = re.sub("[^0-9]", "", s)
|
||||||
|
return int(cleaned_value) if cleaned_value else 0
|
||||||
|
|
||||||
## authenticate with file json input
|
## authenticate with file json input
|
||||||
if args.creds_json is not None and args.creds_base64 == None:
|
if args.creds_json is not None and args.creds_base64 == None:
|
||||||
|
@ -56,14 +60,34 @@ else:
|
||||||
print("You need to use the --creds_json or creds_base 64 parameter to authenticate. You can only select one.")
|
print("You need to use the --creds_json or creds_base 64 parameter to authenticate. You can only select one.")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
client = gspread.authorize(creds)
|
try:
|
||||||
|
client = gspread.authorize(creds)
|
||||||
|
except Exception as e:
|
||||||
|
print("Error authenticating with credentials:", e)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
sheet = client.open(args.name) # Open the spreadhseet
|
try:
|
||||||
worksheet = sheet.worksheet(args.sheet) # Open worksheet
|
sheet = client.open(args.name) # Open the spreadsheet
|
||||||
|
except gspread.exceptions.SpreadsheetNotFound as e:
|
||||||
|
print(f"Error: Spreadsheet '{args.name}' not found.")
|
||||||
|
sys.exit()
|
||||||
|
try:
|
||||||
|
worksheet = sheet.worksheet(args.sheet) # Open worksheet
|
||||||
|
except gspread.exceptions.WorksheetNotFound as e:
|
||||||
|
print(f"Error: Worksheet '{args.sheet}' not found.")
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
if args.cell is not None and args.row==None and args.column==None :
|
if args.cell is not None and args.row==None and args.column==None :
|
||||||
|
|
||||||
val = worksheet.acell(args.cell).value
|
val = worksheet.acell(args.cell).value
|
||||||
|
|
||||||
|
if int(args.onlydigits)==1:
|
||||||
|
|
||||||
|
try:
|
||||||
|
val = convert_to_number(val)
|
||||||
|
except ValueError as e:
|
||||||
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
elif args.row is not None and args.column==None and args.cell == None:
|
elif args.row is not None and args.column==None and args.cell == None:
|
||||||
|
|
||||||
|
@ -77,5 +101,4 @@ else:
|
||||||
print("To search for data in a cell use the --cell parameter, for data in a column --column and in a row --row, only one of these parameters can be used at a time.")
|
print("To search for data in a cell use the --cell parameter, for data in a column --column and in a row --row, only one of these parameters can be used at a time.")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
|
||||||
print(val)
|
print(val)
|
||||||
|
|
Loading…
Reference in New Issue