Files
perfdb/upload.py

60 lines
1.7 KiB
Python

import getopt
import re
import sys
import os
from os.path import getsize, isdir, isfile, join, dirname
import httplib2
from lxml import html
import time
import random
import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder
def upload(csvFile):
m = MultipartEncoder(
fields={
'file': ('0.csv', open(csvFile, 'rb'), 'text/csv'),
'settings': ('csvReaderSettings.json', '{"separator":44,"columnDefinitions":{"columnDefinitions":{"tag":{"ignore":false,"renameTo":null,"postProcessors":["LOWER_CASE"]},"ignoredColumn":{"ignore":true,"renameTo":null,"postProcessors":[]}}},"additionalTags":{"additionalColumn":"additionalValue"},"timeColumn":"@timestamp","valueColumn":"duration","comment":35}', 'application/json')
})
r = requests.post('http://localhost:8080/data?waitUntilFinished=false', data=m,
#headers={'Content-Type': m.content_type})
headers={
'Accept': 'text/plain, application/json, application/*+json, */*',
'Content-Type': m.content_type.replace("form-data", "mixed;charset=UTF-8")
})
def help(returnValue):
print(sys.argv[0] + ' --file <FILE>')
print('Examples: ')
print(sys.argv[0] + ' --file data.csv')
sys.exit(returnValue)
def main(argv):
csvFile = ''
try:
opts, args = getopt.getopt(argv,"hf:",["file="])
except getopt.GetoptError:
help(2)
for opt, arg in opts:
if opt == '-h':
help(0)
elif opt in ("-f", "--file"):
csvFile = arg
print(csvFile)
if not isfile(csvFile):
print("does not exist")
sys.exit(1)
upload(csvFile)
sys.exit(0)
if __name__ == "__main__":
main(sys.argv[1:])