mirror of https://github.com/oxen-io/session-ios
				
				
				
			
			You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
#!/usr/bin/env python
 | 
						|
import sys
 | 
						|
import os
 | 
						|
import re
 | 
						|
import commands
 | 
						|
import subprocess
 | 
						|
import argparse
 | 
						|
import inspect    
 | 
						|
import urllib2
 | 
						|
import json
 | 
						|
 | 
						|
def fail(message):
 | 
						|
    file_name = __file__
 | 
						|
    current_line_no = inspect.stack()[1][2]
 | 
						|
    current_function_name = inspect.stack()[1][3]
 | 
						|
    print 'Failure in:', file_name, current_line_no, current_function_name
 | 
						|
    print message
 | 
						|
    sys.exit(1)
 | 
						|
 | 
						|
 | 
						|
def execute_command(command):
 | 
						|
    try:
 | 
						|
        print ' '.join(command)
 | 
						|
        output = subprocess.check_output(command)
 | 
						|
        if output:
 | 
						|
            print output
 | 
						|
    except subprocess.CalledProcessError as e:
 | 
						|
        print e.output
 | 
						|
        sys.exit(1)
 | 
						|
 | 
						|
def add_field(curl_command, form_key, form_value):
 | 
						|
    curl_command.append('-F')
 | 
						|
    curl_command.append("%s=%s" % (form_key, form_value))
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    parser = argparse.ArgumentParser(description='Precommit cleanup script.')
 | 
						|
    parser.add_argument('--file', required=True, help='used for starting a new version.')
 | 
						|
 | 
						|
    args = parser.parse_args()
 | 
						|
    
 | 
						|
    params_response = urllib2.urlopen("https://debuglogs.org/").read()
 | 
						|
    
 | 
						|
    params = json.loads(params_response)
 | 
						|
    
 | 
						|
    upload_url = params['url']
 | 
						|
    upload_fields = params['fields']
 | 
						|
 | 
						|
    upload_key = upload_fields.pop('key')
 | 
						|
    upload_key = upload_key + os.path.splitext(args.file)[1]
 | 
						|
    
 | 
						|
    download_url = 'https://debuglogs.org/' + upload_key
 | 
						|
    print 'download_url:', download_url
 | 
						|
    
 | 
						|
    curl_command = ['curl', '-v', '-i', '-X', 'POST']
 | 
						|
 | 
						|
    # key must appear before other fields
 | 
						|
    add_field(curl_command, 'key', upload_key)
 | 
						|
    for field_name in upload_fields:
 | 
						|
        add_field(curl_command, field_name, upload_fields[field_name])
 | 
						|
 | 
						|
    add_field(curl_command, "content-type", "application/octet-stream")
 | 
						|
 
 | 
						|
    curl_command.append('-F')
 | 
						|
    curl_command.append("file=@%s" % (args.file,))
 | 
						|
    curl_command.append(upload_url)
 | 
						|
    
 | 
						|
    print ' '.join(curl_command)
 | 
						|
 | 
						|
    print 'Running...'
 | 
						|
    execute_command(curl_command)
 | 
						|
 | 
						|
    print 'download_url:', download_url
 | 
						|
    
 |