about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorhut <hut@lavabit.com>2009-11-22 23:56:47 +0100
committerhut <hut@lavabit.com>2009-11-22 23:56:47 +0100
commit2b3db775535290cbbaae570dc79ed3438afe4795 (patch)
treea385d5c5a5491c4a19b77c945030ea141926de76
parentec338c02cf3b31d2ed1438752c338bd6123f3044 (diff)
downloadranger-2b3db775535290cbbaae570dc79ed3438afe4795.tar.gz
the basic loop
-rw-r--r--code/__init__.py0
-rw-r--r--code/__init__.pycbin0 -> 125 bytes
-rw-r--r--code/debug.py12
-rw-r--r--code/fm.py38
-rw-r--r--code/options.py5
-rw-r--r--code/ui.py4
-rw-r--r--ranger29
-rw-r--r--test1.py5
8 files changed, 92 insertions, 1 deletions
diff --git a/code/__init__.py b/code/__init__.py
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/code/__init__.py
diff --git a/code/__init__.pyc b/code/__init__.pyc
new file mode 100644
index 00000000..2479f90e
--- /dev/null
+++ b/code/__init__.pyc
Binary files differdiff --git a/code/debug.py b/code/debug.py
new file mode 100644
index 00000000..12d5d654
--- /dev/null
+++ b/code/debug.py
@@ -0,0 +1,12 @@
+# a module to faciliate debuggin
+
+LOGFILE = '/tmp/errorlog'
+
+def log(txt):
+	f = open(LOGFILE, 'a')
+	f.write("r1: ")
+	f.write(str(txt))
+	f.write("\n")
+	f.close()
+
+
diff --git a/code/fm.py b/code/fm.py
new file mode 100644
index 00000000..76316a9d
--- /dev/null
+++ b/code/fm.py
@@ -0,0 +1,38 @@
+import time
+import sys
+from code import ui, debug
+
+class FM():
+	def __init__(self, options):
+		self.singleton = None
+		self.options = options
+		self.ui = ui.UI()
+
+	def run(self):
+		try:
+			while 1:
+				try:
+					self.ui.draw()
+				except KeyboardInterrupt:
+					self.interrupt()
+				except:
+					debug.log(sys.exc_info()[1])
+
+				try:
+					key = None
+#					key = curses.getch()
+#					curses.flushinp()
+					self.press(key)
+				except KeyboardInterrupt:
+					self.interrupt()
+		except:
+			raise
+			pass
+
+	def press(self, key):
+		pass
+
+	def interrupt(self):
+		self.buffer = ""
+		time.sleep(0.2)
+
diff --git a/code/options.py b/code/options.py
new file mode 100644
index 00000000..eed79f1e
--- /dev/null
+++ b/code/options.py
@@ -0,0 +1,5 @@
+def get():
+	return []
+
+def dummy():
+	return []
diff --git a/code/ui.py b/code/ui.py
new file mode 100644
index 00000000..0e48a68a
--- /dev/null
+++ b/code/ui.py
@@ -0,0 +1,4 @@
+class UI():
+	def draw(self):
+		import time
+		time.sleep(0.1)
diff --git a/ranger b/ranger
new file mode 100644
index 00000000..585108b8
--- /dev/null
+++ b/ranger
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+# coding=utf-8
+
+# TODO: cd after exit
+
+from code import debug
+from code import fm
+from code import ui
+from code import options
+
+# TODO: find out the real name of this script and include files relative to here
+
+# TODO: Parse arguments
+
+# TODO: load config
+
+# TODO: initialize classes
+
+# TODO: run main loop
+
+
+def main():
+	import locale
+	locale.setlocale(locale.LC_ALL, 'en_US.utf8')
+
+	fm.singleton = fm.FM(options.get())
+	fm.singleton.run()
+
+if __name__ == "__main__": main()
diff --git a/test1.py b/test1.py
index 715e510d..97505c41 100644
--- a/test1.py
+++ b/test1.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/python3
 # coding=utf-8
 # some tests with curses, threads and unicode
 import os
@@ -6,6 +6,9 @@ import curses
 import time
 import threading
 import locale
+import _thread
+
+lock = _thread.allocate_lock()
 
 locale.setlocale(locale.LC_ALL, 'en_US.utf8')