50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
import os
|
|
import socket
|
|
import sys
|
|
import time
|
|
|
|
def receive_data(conn):
|
|
data = ''
|
|
for t in range(1000):
|
|
d = conn.recv(8196)
|
|
if d:
|
|
data += d
|
|
if data.endswith('\nDONE'):
|
|
return data[:-5]
|
|
time.sleep(0.01)
|
|
return ''
|
|
|
|
|
|
def astyle(server_address, code):
|
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
try:
|
|
sock.connect(server_address)
|
|
sock.sendall(code + '\nDONE')
|
|
return receive_data(sock)
|
|
except socket.error as err:
|
|
print('Network error: ' + str(err))
|
|
sock.close()
|
|
return None
|
|
|
|
if __name__ == "__main__":
|
|
server_address = ('cppcheck.osuosl.org', 18000)
|
|
|
|
for filename in sorted(sys.argv[1:]):
|
|
if not (filename.endswith('.cpp') or filename.endswith('.h')):
|
|
continue
|
|
|
|
f = open(filename, 'rt')
|
|
code = f.read()
|
|
f.close()
|
|
formatted_code = astyle(server_address, code)
|
|
if formatted_code is None:
|
|
break
|
|
if code != formatted_code:
|
|
print('Changed: ' + filename)
|
|
f = open(filename, 'wt')
|
|
f.write(formatted_code)
|
|
f.close()
|
|
else:
|
|
print('Unchanged: ' + filename)
|
|
|