@@ -81,9 +81,9 @@ def main():
8181 """Executed on run"""
8282
8383 try :
84- input = raw_input
84+ io_in = raw_input
8585 except NameError :
86- pass
86+ io_in = input
8787
8888 args = parse_args ()
8989 if args .version :
@@ -114,16 +114,16 @@ def main():
114114 conf ['password' ] = args .password
115115
116116 message = None
117- if args .message and not args .file :
117+ if args .message and not args .file : # Message in argument
118118 message = args .message
119- elif args .file :
119+ elif args .file : # Read file support
120120 with open (args .file , 'r' ) as openfile :
121121 message = openfile .read ()
122- elif not sys .stdin .isatty ():
122+ elif not sys .stdin .isatty (): # Pipe support
123123 message = ''
124124 try :
125125 while True :
126- message += input ()
126+ message += io_in ()
127127 message += '\n '
128128 except EOFError :
129129 pass
@@ -145,14 +145,6 @@ def main():
145145 except KeyError :
146146 invalid_conf = True
147147
148- if args .numbers :
149- if not message :
150- message = ''
151- numbers = elks_conn .list_numbers (all = 'all' in message )
152- for i , number in enumerate (numbers ):
153- print ("(%s) %s" % (i , number ))
154- exit (0 )
155-
156148 if not message :
157149 print (USAGE , file = sys .stderr )
158150 exit (- 1 )
@@ -162,20 +154,10 @@ def main():
162154
163155 if invalid_conf :
164156 print (USAGE , file = sys .stderr )
165- print ("\n \n Your configuration is invalid " , file = sys .stderr )
157+ print ("\n \n Invalid configuration" , file = sys .stderr )
166158 exit (- 1 )
167159
168- if args .call :
169- response = elks_conn .make_call (message ,
170- conf .get ('to' , None ),
171- conf .get ('from' , None ))
172- if 'debug' in conf :
173- print (response )
174- elif 'verbose' in conf :
175- retval = json .loads (response )
176- print ('Made connection to ' + conf ['to' ])
177- else :
178- send_sms (elks_conn , conf , message )
160+ send_sms (elks_conn , conf , message , length = args .length )
179161
180162def parse_args ():
181163 """Parse the arguments to the application"""
@@ -207,20 +189,26 @@ def parse_args():
207189 action = 'count' , help = """
208190 Generates a configuration file from the commandline
209191 options and exits.""" )
192+ parser .add_argument ('-l' , '--length' , metavar = 'length' ,
193+ action = 'store' , type = int , default = 160 ,
194+ help = 'Maximum length of the message' )
210195 parser .add_argument ('-c' , '--config' , dest = 'configfile' ,
211196 help = """Location of the custom configuration file""" )
212- parser .add_argument ('--call' , '--dial' , action = 'store_true' , default = False ,
213- help = """Make a call [TO BE DEPRECATED]""" )
214- parser .add_argument ('--numbers' , action = 'store_true' ,
215- help = "Show my numbers [TO BE DEPRECATED]" )
216197 return parser .parse_args ()
217198
218- def send_sms (conn , conf , message ):
199+ def send_sms (conn , conf , message , length = 160 ):
219200 sender = conf .get ('from' , 'elkme' )
220201 to = conf .get ('to' , None )
221202
203+ if length > 1530 or length < 0 :
204+ print ('Length must be larger than 0 and smaller than 1530' )
205+ return
206+
207+ if not isinstance (message , str ):
208+ message = " " .join (message )
209+
222210 try :
223- response = conn .send_sms (message [:159 ], to , sender )
211+ response = conn .send_sms (message [:length ], to , sender )
224212 except HTTPError as e :
225213 print (e )
226214 return
@@ -230,10 +218,10 @@ def send_sms(conn, conf, message):
230218 elif 'verbose' in conf :
231219 retval = json .loads (response )
232220
233- if len (message ) > 160 :
221+ if len (message ) > length :
234222 print (message )
235223 print ('----' )
236- print ('Sent first 160 characters to ' + retval ['to' ])
224+ print ('Sent first %s characters to %s' % ( length , retval ['to' ]) )
237225 else :
238226 print ('Sent "' + retval ['message' ] + '" to ' + retval ['to' ])
239227
0 commit comments