summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-09-07 23:36:57 +0000
committerlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-09-07 23:36:57 +0000
commitf8ab739a36f7599f4f84590694c02ff3e0f2dd71 (patch)
tree87ec4c833900da6f9c95b9a135be761de9d98e36 /src
parent7d7f585ed6640d73de9cfcfbe84a56e2ec4d6a5f (diff)
downloadpoezio-f8ab739a36f7599f4f84590694c02ff3e0f2dd71.tar.gz
poezio-f8ab739a36f7599f4f84590694c02ff3e0f2dd71.tar.bz2
poezio-f8ab739a36f7599f4f84590694c02ff3e0f2dd71.tar.xz
poezio-f8ab739a36f7599f4f84590694c02ff3e0f2dd71.zip
do not require argparse anymore, chmod in the directory in the python process directly, fix a little bit the Mafile
Diffstat (limited to 'src')
-rw-r--r--src/config.py20
-rw-r--r--src/poezio.py18
-rw-r--r--src/window.py4
3 files changed, 21 insertions, 21 deletions
diff --git a/src/config.py b/src/config.py
index 3756ef56..b13c3148 100644
--- a/src/config.py
+++ b/src/config.py
@@ -23,11 +23,7 @@ from/to the config file
from configparser import RawConfigParser, NoOptionError
from os import environ, makedirs, path
from shutil import copy2
-try:
- import argparse
- HAVE_ARGPARSE = True
-except ImportError:
- HAVE_ARGPARSE = False
+from optparse import OptionParser
class Config(RawConfigParser):
"""
@@ -139,15 +135,11 @@ except OSError:
if not path.isfile(CONFIG_PATH+'poezio.cfg'):
copy2('../data/default_config.cfg', CONFIG_PATH+'poezio.cfg')
-if HAVE_ARGPARSE:
- parser = argparse.ArgumentParser(prog="poezio", description='An XMPP ncurses client.')
- parser.add_argument('-f', '--file', default=CONFIG_PATH+'poezio.cfg', help='the config file you want to use', metavar="FILE")
- args = parser.parse_args()
- filename = args.file
-else:
- filename = CONFIG_PATH+'poezio.cfg'
-
-config = Config(filename)
+parser = OptionParser()
+parser.add_option("-f", "--file", dest="filename", default=CONFIG_PATH+'poezio.cfg',
+ help="the config file you want to use", metavar="CONFIG_FILE")
+(options, args) = parser.parse_args()
+config = Config(options.filename)
if __name__ == '__main__':
# tests
diff --git a/src/poezio.py b/src/poezio.py
index 23978055..542c9196 100644
--- a/src/poezio.py
+++ b/src/poezio.py
@@ -20,6 +20,12 @@
Starting point of poezio. Launches both the Connection and Gui
"""
+import os
+# chdir in the source directory, so that import are never failed
+# also, no need to use a sh script to "cd" in this directoy
+# before launching poezio.
+os.chdir(os.path.dirname(os.path.abspath(__file__)))
+
import curses
import sys
import traceback
@@ -49,16 +55,18 @@ def exception_handler(type_, value, trace):
then exit the program
"""
my_stderr.restaure()
- curses.endwin()
- curses.echo()
+ try:
+ curses.endwin()
+ curses.echo()
+ except: # if an exception is raised but initscr has never been called yet
+ pass
traceback.print_exception(type_, value, trace, None, sys.stderr)
- import os # used to quit the program even from a thread
- os.abort()
+ # import os # used to quit the program even from a thread
+ # os.abort()
sys.excepthook = exception_handler
import signal
-import os
from connection import Connection
from config import config
diff --git a/src/window.py b/src/window.py
index b4db51eb..16820b8f 100644
--- a/src/window.py
+++ b/src/window.py
@@ -113,7 +113,7 @@ class Topic(Win):
g_lock.acquire()
self.win.erase()
if not jid:
- self.win.addnstr(0, 0, topic[:self.width], curses.color_pair(theme.COLOR_TOPIC_BAR))
+ self.win.addnstr(0, 0, topic[:self.width-1], curses.color_pair(theme.COLOR_TOPIC_BAR))
while True:
try:
self.win.addch(' ', curses.color_pair(theme.COLOR_TOPIC_BAR))
@@ -167,7 +167,7 @@ class RoomInfo(Win):
break
(y, x) = self.win.getyx()
self.win.addstr(y, x-1, '] '+ current.name, curses.color_pair(theme.COLOR_INFORMATION_BAR))
- self.print_scroll_position(current)
+# self.print_scroll_position(current)
while True:
try:
self.win.addstr(' ', curses.color_pair(theme.COLOR_INFORMATION_BAR))