10
0
mirror of https://gitlab.com/scemama/irpf90.git synced 2024-06-15 01:35:19 +02:00
irpf90/src/util.py

66 lines
1.2 KiB
Python
Raw Normal View History

2009-09-02 20:45:53 +02:00
#!/usr/bin/python
2009-09-04 15:11:42 +02:00
def strip(x):
return x.strip()
2009-09-02 20:45:53 +02:00
def same_file(filename,txt):
assert isinstance(filename,str)
assert isinstance(txt,list)
try:
file = open(filename,"r")
except IOError:
return False
lines = file.readlines()
file.close()
if len(lines) != len(txt):
return False
for a,b in zip(lines,txt):
if a != b:
return False
return True
2009-09-04 15:11:42 +02:00
def build_dim(dim):
if len(dim) == 0:
return ""
else:
return "(%s)"%( ",".join(dim) )
2009-09-04 18:37:10 +02:00
def find_subname(line):
buffer = line.text.split('(')
if len(buffer) > 1:
buffer = " ".join(buffer[:-1])
else:
buffer = buffer[0]
buffer = buffer.lower().split()
if len(buffer) < 2:
error.fail(line,"Syntax Error")
return buffer[-1]
2009-09-04 23:48:49 +02:00
def make_single(l):
d = {}
for x in l:
d[x] = True
return d.keys()
2009-09-05 15:37:23 +02:00
def flatten(l):
if isinstance(l,list):
result = []
for i in range(len(l)):
elem = l[i]
result += flatten(elem)
return result
else:
return [l]
2009-09-04 18:37:10 +02:00
2009-09-02 20:45:53 +02:00
if __name__ == '__main__':
2009-09-05 15:37:23 +02:00
a = 0
print flatten(a)
a = []
print flatten(a)
a = [1,2,3,4]
print flatten(a)
a = [1,2,3,[4,5,6,[7,8,9],10,],11,12,[13,14],15,16]
print flatten(a)