How to use _importer method in autotest

Best Python code snippet using autotest_python

views.py

Source:views.py Github

copy

Full Screen

1from Products.Five.browser import BrowserView2from collections import defaultdict3from eea.climateadapt._importer.utils import get_template_for_layout4from eea.climateadapt._importer.utils import create_folder_at5from eea.climateadapt._importer.utils import parse_settings6from eea.climateadapt._importer.utils import strip_xml7from eea.climateadapt._importer import import_aceitems as base_import_aceitems8from sqlalchemy import create_engine9from sqlalchemy.orm import scoped_session, sessionmaker10from zope.component.hooks import getSite11from zope.sqlalchemy import register12import eea.climateadapt._importer13import os14class SingleImporterView(BrowserView):15 """ Registered as /@@layout_importer16 Call with one of17 * ?uuid=<uuid>18 * layout=<layoutid>19 * type=casestudy[&id=<measureid>]20 * type=aceitems21 """22 def _make_session(self):23 engine = create_engine(os.environ.get("DB"))24 Session = scoped_session(sessionmaker(bind=engine))25 register(Session, keep_session=True)26 session = Session()27 return session28 def import_layout(self):29 from eea.climateadapt._importer import import_layout30 from eea.climateadapt._importer import sql31 session = self._make_session()32 eea.climateadapt._importer.session = session33 site = self.context34 uuid = self.request.form.get('uuid')35 if uuid:36 layout = session.query(sql.Layout).filter_by(privatelayout=False,37 uuid_=uuid).one()38 else:39 id = self.request.form.get('layout')40 layout = session.query(sql.Layout).filter_by(privatelayout=False,41 layoutid=id).one()42 cover = import_layout(layout, site)43 if cover:44 return self.request.response.redirect(cover.absolute_url())45 return "no cover?"46 def import_layout_type(self):47 """ Allows importing a batch of layouts by their template name48 """49 from eea.climateadapt._importer import import_layout50 from eea.climateadapt._importer import sql51 session = self._make_session()52 eea.climateadapt._importer.session = session53 site = self.context54 template = self.request.form.get('template', '').strip()55 if not template:56 raise ValueError("Please provide a template")57 for layout in session.query(sql.Layout).filter_by(privatelayout=False):58 if layout.type_ in [u'control-panel']:59 # we skip control panel pages60 continue61 settings = parse_settings(layout.typesettings)62 if layout.type_ == u'link_to_layout':63 llid = int(settings['linkToLayoutId'][0])64 try:65 ll = session.query(sql.Layout).filter_by(layoutid=llid).one()66 except:67 print "Got error on layout", layout.friendlyurl68 continue69 import pdb; pdb.set_trace()70 this_url = layout.friendlyurl71 child_url = ll.friendlyurl72 folder = create_folder_at(site, this_url)73 folder.setLayout(child_url.split('/')[-1])74 folder.title = strip_xml(ll.name)75 continue76 try:77 layout_template = settings['layout-template-id'][0]78 except:79 import pdb; pdb.set_trace()80 if not layout_template == template:81 continue82 try:83 cover = import_layout(layout, site)84 except:85 print "Couldn't import layout %s", layout.friendlyurl86 if cover:87 cover._imported_comment = \88 "Imported from layout {0}".format(layout.layoutid)89 print "Created cover at %s" % cover.absolute_url()90 def import_dlentries(self):91 from eea.climateadapt._importer import import_dlfileentry92 from eea.climateadapt._importer import sql93 session = self._make_session()94 eea.climateadapt._importer.session = session95 site = self.context96 imported = []97 #import pdb; pdb.set_trace()98 to_import = session.query(sql.Dlfileentry)99 id = self.request.form.get('id')100 if id:101 to_import = to_import.filter_by(fileentryid=int(id))102 for dlfileentry in to_import:103 f = import_dlfileentry(dlfileentry, site['repository'])104 if f is None:105 continue106 link = "<a href='{0}'>{1}</a>".format(f.absolute_url(), f.getId())107 imported.append(link)108 return "<br/>".join(imported)109 def import_aceitems(self):110 from eea.climateadapt._importer import import_aceitem111 from eea.climateadapt._importer import sql112 from eea.climateadapt._importer.tweak_sql import fix_relations113 session = self._make_session()114 eea.climateadapt._importer.session = session115 fix_relations(session)116 site = self.context117 id = self.request.form.get('id')118 if id:119 aceitem = session.query(sql.AceAceitem).\120 filter_by(aceitemid=int(id)).one()121 obj = import_aceitem(aceitem, site)122 return self.request.response.redirect(obj.absolute_url())123 base_import_aceitems(session, site)124 return 'done'125 def import_casestudy(self):126 from eea.climateadapt._importer import import_casestudy127 from eea.climateadapt._importer import import_adaptationoption128 from eea.climateadapt._importer import sql129 session = self._make_session()130 eea.climateadapt._importer.session = session131 site = self.context132 if 'casestudy' not in site.contentIds():133 site.invokeFactory("Folder", 'casestudy')134 site['casestudy'].edit(title='Case Studies')135 to_import = session.query(sql.AceMeasure)136 id = self.request.form.get('id')137 if id:138 to_import = to_import.filter_by(measureid=int(id))139 # TODO: fix this code140 imported = []141 for acemeasure in to_import:142 if acemeasure.mao_type == 'A':143 obj = import_casestudy(acemeasure, site['casestudy'])144 imported.append(obj)145 print "Imported Case Study {0} from id {1}".format(146 obj.absolute_url(), acemeasure.measureid)147 else:148 obj = import_adaptationoption(acemeasure,149 site['metadata']['adaptation-options'])150 imported.append(obj)151 print "Imported Adaptation Option {0} from id {1}".format(152 obj.absolute_url(), acemeasure.measureid)153 if imported:154 return self.request.response.redirect(imported[0].absolute_url())155 else:156 return "Nothing to import"157 def import_fix_casestudies(self):158 from eea.climateadapt._importer import fix_casestudy_images159 fix_casestudy_images(self.context)160 def import_projects(self):161 from eea.climateadapt._importer import import_aceproject162 from eea.climateadapt._importer import sql163 session = self._make_session()164 eea.climateadapt._importer.session = session165 site = self.context166 if 'aceprojects' not in site.contentIds():167 site.invokeFactory("Folder", 'aceprojects')168 site['aceprojects'].edit(title='Projects')169 to_import = session.query(sql.AceProject)170 id = self.request.form.get('id')171 if id:172 to_import = to_import.filter_by(projectid=int(id))173 imported = []174 for project in to_import:175 obj = import_aceproject(project, site['aceprojects'])176 imported.append(obj)177 print "Imported Project {0} from id {1}".format(178 obj.absolute_url(), project.projectid)179 if imported:180 return self.request.response.redirect(imported[0].absolute_url())181 else:182 return "Nothing to import"183 def import_journal_articles(self):184 from eea.climateadapt._importer import import_journal_articles185 session = self._make_session()186 eea.climateadapt._importer.session = session187 site = self.context188 import_journal_articles(site)189 return "Done"190 def import_city_profile(self):191 from eea.climateadapt._importer import import_city_profiles192 session = self._make_session()193 eea.climateadapt._importer.session = session194 site = self.context195 cities = import_city_profiles(site)196 return "Imported {0} cities".format(len(cities))197 def import_detect_richtext(self):198 from eea.climateadapt._importer.utils import detect_richtext_fields199 session = self._make_session()200 eea.climateadapt._importer.session = session201 #site = self.context202 detect_richtext_fields(session)203 return "done"204 def import_portlet_preferences(self):205 from eea.climateadapt._importer import sql206 import lxml.etree207 import lxml.html208 session = self._make_session()209 eea.climateadapt._importer.session = session210 saportlets = session.query(sql.Portletpreference)211 for portlet in saportlets:212 if portlet.preferences is not None:213 e = lxml.etree.fromstring(portlet.preferences)214 prefs = {}215 for pref in e.xpath('//preference'):216 name = str(pref.find('name').text)217 values = pref.findall('value')218 if len(values) > 1:219 print len(values), name, portlet.portletid220 res = []221 for node in values:222 try:223 value = node.text224 except Exception:225 continue226 if value is not None:227 res.append(unicode(value))228 if len(res) == 0:229 prefs[name] = None230 elif len(res) == 1:231 prefs[name] = res[0]232 else:233 prefs[name] = res234 def __call__(self):235 _type = self.request.form.get('type', 'layout')236 debug = self.request.form.get('debug')237 if debug:238 import pdb; pdb.set_trace()239 importer = getattr(self, 'import_' + _type)240 return importer() or "done"241class GoToPDB(BrowserView):242 def __call__(self):243 import pdb; pdb.set_trace()244 return "done"245class MapOfLayouts(SingleImporterView):246 def __call__(self):247 from eea.climateadapt._importer import sql248 session = self._make_session()249 eea.climateadapt._importer.session = session250 self.options = defaultdict(list)251 for layout in session.query(sql.Layout).filter_by(privatelayout=False):252 template = get_template_for_layout(layout)253 self.options[template].append((layout.friendlyurl, layout.uuid_))254 return self.index()255 def site_url(self):256 return getSite().absolute_url()257class FacetedImporter(BrowserView):258 def __call__(self):259 from eea.climateadapt._importer.utils import make_faceted260 if 'submit' in self.request.form:261 site = self.context262 form = self.request.form263 location = form['location']264 xmlfilename = form['xmlfilename']265 layout = form['layout']266 faceted = make_faceted(site, location, xmlfilename, layout)267 return self.request.response.redirect(faceted.absolute_url())268 else:...

Full Screen

Full Screen

qt_abstraction.py

Source:qt_abstraction.py Github

copy

Full Screen

1# Copyright (c) 2015 Shotgun Software Inc.2#3# CONFIDENTIAL AND PROPRIETARY4#5# This work is provided "AS IS" and subject to the Shotgun Pipeline Toolkit6# Source Code License included in this distribution package. See LICENSE.7# By accessing, using, copying or modifying this work you indicate your8# agreement to the Shotgun Pipeline Toolkit Source Code License. All rights9# not expressly granted therein are reserved by Shotgun Software Inc.10"""11Imports Qt without having to worry which version of Qt we are using.12"""13from ...util.qt_importer import QtImporter14_importer = QtImporter()15QtCore = _importer.QtCore16QtGui = _importer.QtGui17QtWebKit = _importer.QtWebKit18QtNetwork = _importer.QtNetwork19qt_version_tuple = _importer.qt_version_tuple...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful