1. zjes
  2. rope_py3k


Ali Gholami Rudi  committed 7369a6a

Considering releasing a library package

  • Participants
  • Parent commits cca21a7
  • Branches trunk

Comments (0)

Files changed (6)

File README.txt

View file
 * Using as a library: `docs/dev/library.txt`_
 * Contributing: `docs/dev/contributing.txt`_
+To change rope IDE preferences edit your ``~/.rope`` (which is created
+the first time you start rope).  To change your project preferences
+edit ``$PROJECT_ROOT/.ropeproject/config.py`` where ``$PROJECT_ROOT``
+is the root folder of your project (this file is created the first
+time you open a project).
 If you don't like rope's default emacs-like keybinding, edit the
-default ``~/.rope`` file (created the first time you start rope) and
-change `i_like_emacs` variable to `False`.
+default ``~/.rope`` file and change `i_like_emacs` variable to
 Project Road Map

File docs/dev/issues.txt

View file
 To Be Discussed
+* `Releasing library package`_
 * `Memory management`_
 * `Getting ready for Python 3.0`_
 * Should `rope.base` be thread safe? which parts?
+Releasing Library Package
+As it is written in ``README.txt`` file the initial goal of rope was
+to release a library if it achieved its goals:
+  The type inference and refactoring parts will not be dependent on
+  *rope* IDE and if successful, will be released as standalone
+  programs and libraries so that other projects may use them.
+I think it is now the time.
+Things to do:
+* A new ``setup.py`` for making and registering library package
+* The library package will contain `rope`, `rope.base`, and
+  `rope.refactor` packages
+* The name of packages: using ``rope`` for the library and
+  ``ropeide``, ``rope_ide``, ``rope-ide`` or ``pyrope`` for the IDE
+* Should the IDE contain the library?
+* Separating common, library, and IDE documents
 Memory Management

File docs/dev/stories.txt

View file
 * Extract class
-* Split tuple assignment refactoring
 * Supporting templates in text modes
 * Lambdas as functions; consider their parameters
+* Split tuple assignment refactoring
+* Adding support for Mercurial VCS
 > Public Release 0.6m3 : June 17, 2007
+* Self assignment warning

File docs/dev/workingon.txt

View file
 Small Stories
-* Solve importing problems
-* Refactor `objectinfer` module
-* Move `TemporaryScope` to a better place
 * Handling strings in following lines in `patchedast`
 * Extracting subexpressions; look at `extracttest` for more info
 * Create ... and implicit interfaces
 * More documentation for using rope as a library
 * Document features and organize them
 * Explain why rope does not stop users from performing wrong
-  refactorings
+  refactorings

File rope/base/oi/objectinfer.py

View file
 from rope.base import evaluate, pyobjects, builtins, pynames
-from rope.base.oi import dynamicoi, staticoi
+from rope.base.oi import staticoi
 class ObjectInfer(object):

File ropetest/objectinfertest.py

View file
         self.assertEquals(c1_class, a_var.get_type())
         self.assertEquals(c2_class, b_var.get_type())
+    def test_list_comprehensions_and_multiple_iters(self):
+        mod = self.pycore.get_string_module(
+            'class C1(object):\n    pass\nclass C2(object):\n    pass\n'
+            'l = [(c1, c2) for c1, c2 in [(C1(), C2())]]\n'
+            'a, b = l[0]\n')
+        c1_class = mod.get_attribute('C1').get_object()
+        c2_class = mod.get_attribute('C2').get_object()
+        a_var = mod.get_attribute('a').get_object()
+        b_var = mod.get_attribute('b').get_object()
+        self.assertEquals(c1_class, a_var.get_type())
+        self.assertEquals(c2_class, b_var.get_type())
 def suite():
     result = unittest.TestSuite()