self.logger -> self.s.logger in prof/import.py
[sitecorepy.git] / sitecore / prof / import.py
index b8f9add1a28c2881855922ec6fe9983b167c21e3..f2b77ab0b2cad82640742611b703142f1083e742 100644 (file)
@@ -22,6 +22,8 @@ Professors will be created in:
   Content -> Drexel -> ? -> physics -> ?
 """
 
+import time
+
 from selenium.common.exceptions import NoSuchElementException
 import yaml
 
@@ -36,16 +38,39 @@ class ProfessorAdder (object):
         self.s = sitecore_connection
 
     def setup(self):
-        s.expand_nav_section('Media Library')
-        s.expand_nav_section('Images')
-        s.expand_nav_section('physics')
-        s.expand_nav_section('headshots')
+        #self.s.expand_nav_section('sitecore')
+        #self.s.expand_nav_section('Content')
+        self.s.expand_nav_section('Home')
+        for i in range(5): # 'physics' takes a while to load
+            try:
+                self.s.expand_nav_section('physics')
+            except NoSuchElementException, e:
+                time.sleep(self.s.wait_time)
+        self.s.expand_nav_section('contact')
+        self.s.expand_nav_section('facultyDirectory')
 
     def __call__(self, prof):
-        raw_name = TODO
-        s.open_nav_section(raw_name)
+        self.create_prof_page(prof)
+        self.s.open_nav_section(raw_name)
         TODO
 
+    def create_prof_page(self, prof):
+        self.s.open_nav_section('Copy of Shyamalendu Bose')
+        self.s.w.find_element_by_link_text('Copy To').click()
+        time.sleep(self.s.wait_time)
+        windows = self.s.w.get_window_handles()
+        current_window = self.s.w.get_current_window_handle()
+        self.s.logger.info('handling copy popup %s (from %s)'
+                         % (current_window, windows))
+        name = self.s.find_element_by_id('Filename')
+        name.clear()
+        name.send_keys(
+            '/sitecore/content/Home/physics/contact/facultyDirectory/%s %s'
+            % (prof.name.first, prof.name.last))
+        self.s.w.find_element_by_link_text('Copy').click()
+        time.sleep(self.s.wait_time)
+
+
 def main(argv):
     import optparse
     usage = """%prog [options] PROF_FILE
@@ -66,7 +91,7 @@ Example setup before running:
                  help='increment verbosity (%default)',
                  default=0)
 
-    options,args = p.parse_args(argv)
+    options,args = p.parse_args(argv[1:])
     prof_file = args[0]
     profs = yaml.load(prof_file)
 
@@ -74,9 +99,9 @@ Example setup before running:
     s.start()
     try:
         s.login()
-        a = ProfessorAdder(s)
-        a.setup()
+        add = ProfessorAdder(s)
+        add.setup()
         for prof in profs:
-            a.aadd_profs(s, profs)
+            add(prof)
     finally:
         s.stop()