Modifications to support boobank under win32

Signed-off-by: Romain Bignon <romain@peerfuse.org>
This commit is contained in:
Laurent Dufréchou 2011-03-17 11:55:46 +01:00 committed by Romain Bignon
commit 86937aef95
3 changed files with 28 additions and 9 deletions

View file

@ -20,6 +20,7 @@ from __future__ import with_statement
import stat
import os
import sys
from ConfigParser import RawConfigParser, DuplicateSectionError
from logging import warning
@ -37,11 +38,16 @@ class BackendsConfig(object):
try:
mode = os.stat(confpath).st_mode
except OSError:
os.mknod(confpath, 0600)
if sys.platform == 'win32':
fptr = open(confpath,'w')
fptr.close()
else:
os.mknod(confpath, 0600)
else:
if mode & stat.S_IRGRP or mode & stat.S_IROTH:
raise self.WrongPermissions(
u'Weboob will not start until config file %s is readable by group or other users.' % confpath)
if sys.platform != 'win32':
if mode & stat.S_IRGRP or mode & stat.S_IROTH:
raise self.WrongPermissions(
u'Weboob will not start until config file %s is readable by group or other users.' % confpath)
def iter_backends(self):
config = RawConfigParser()

View file

@ -40,8 +40,13 @@ class ConsoleApplication(BaseApplication):
CAPS = None
# shell escape strings
BOLD = ''
NC = '' # no color
if sys.platform == 'win32':
#workaround to disable bold
BOLD = ''
NC = '' # no color
else:
BOLD = ''
NC = '' # no color
stdin = sys.stdin
stdout = sys.stdout
@ -356,7 +361,10 @@ class ConsoleApplication(BaseApplication):
while True:
if v.masked:
line = getpass.getpass(question)
if sys.platform == 'win32':
line = getpass.getpass(str(question))
else:
line = getpass.getpass(question)
else:
self.stdout.write(question)
self.stdout.flush()

View file

@ -21,7 +21,9 @@ from __future__ import with_statement
import os
import sys
import subprocess
if sys.platform == 'win32':
import WConio
try:
import tty, termios
except ImportError:
@ -85,7 +87,10 @@ class IFormatter(object):
# XXX if stdin is not a tty, it seems that the command fails.
if os.isatty(sys.stdout.fileno()) and os.isatty(sys.stdin.fileno()):
self.termrows = int( subprocess.Popen('stty size', shell=True, stdout=subprocess.PIPE).communicate()[0].split()[0])
if sys.platform == 'win32':
self.termrows = WConio.gettextinfo()[8]
else:
self.termrows = int( subprocess.Popen('stty size', shell=True, stdout=subprocess.PIPE).communicate()[0].split()[0])
def after_format(self, formatted):
if self.outfile != sys.stdout: