예제 #1
0
    def _bbsize(self, item):
        """
        Checks for oversized bounding box for shotgun write nodes.

        :param item: Item to process
        :return:True if all the write nodes have bounding boxes within limits
        """
        node = item.properties['node']

        bb = node.bbox()  # write node bbox
        bb_height = bb.h()  # bbox height
        bb_width = bb.w()  # bbox width

        node_h = node.height()  # write node height
        node_w = node.width()  # write node width
        tolerance_h = (bb_height - node_h) / node_h * 100
        tolerance_w = (bb_width - node_w) / node_w * 100

        nuke_prefs = preferences.Preferences(
            pref_file_name="nuke_preferences.yaml")

        if nuke_prefs.get('bb_size'):
            bbsize = nuke_prefs['bb_size']
        else:
            # Setting the limit to 5% if not specified in the preferences
            bbsize = 5

        # Check if the size if over provide tolerance limit
        if tolerance_h > bbsize or tolerance_w > bbsize:
            self.logger.error(
                "Bounding Box resolution over {}% tolerance limit for write node."
                .format(bbsize))
            return False
        return True
예제 #2
0
    def set_show_preferences(self, context):
        fields = context.as_template_fields()

        show_prefs = preferences.Preferences(
            pref_file_name="show_preferences.yaml",
            role=fields.get("Step"),
            seq_override=fields.get("Sequence"),
            shot_override=fields.get("Shot"))

        try:
            format_string = "{0} {1} {2}".format(
                show_prefs["show_settings"]["resolution"]["width"],
                show_prefs["show_settings"]["resolution"]["height"],
                SHOW_FORMAT_NAME)
            formats = nuke.formats()
            for nuke_format in formats:
                if nuke_format.name() == SHOW_FORMAT_NAME:
                    nuke_format.setName('')
            nuke.addFormat(format_string)
            nuke.root().knob('format').setValue(SHOW_FORMAT_NAME)
        except KeyError as ke:
            self.parent.logger.warning(
                "Unable to find {} in show preferences. "
                "Not setting root format.".format(ke))

        try:
            nuke.root().knob('fps').setValue(
                show_prefs["show_settings"]["fps"])
        except KeyError as ke:
            self.parent.logger.warning(
                "Unable to find {} in show preferences. "
                "Not setting fps.".format(ke))
예제 #3
0
    def preferences_action_triggered(self):
        """Fires up the Preferences dialog"""
        dlg = preferences.Preferences(self, showToolbar=self.showToolbar)
        sig = dlg.checkboxSig

        sig.connect(self.showHideToolbar)
        dlg.exec_()
예제 #4
0
    def __init__(self, *args):

        "Initialize a new main window."

        super(MainWindow, self).__init__(*args)
        self.cache = KPixmapCache("danbooru")
        self.preferences = preferences.Preferences()
        self.api = None
        self.__ratings = None
        self.__step = 0

        self.url_list = self.preferences.boards_list
        self.max_retrieve = self.preferences.thumbnail_no

        self.statusbar = self.statusBar()
        self.progress = QProgressBar()
        self.thumbnailarea = None
        self.tag_dock = None
        self.pool_dock = None
        self.first_fetch_widget = None

        self.progress.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)

        # FIXME: Hackish, but how to make it small otherwise?
        self.progress.setMinimumSize(100, 1)
        self.statusbar.addPermanentWidget(self.progress)
        self.progress.hide()

        self.setup_welcome_widget()
        self.setup_actions()
예제 #5
0
    def __init__(self,
                 host=DEFAULT_HOST,
                 port=DEFAULT_PORT,
                 ssl=False,
                 db=settings.ZEPHYR_DB,
                 keyfile=DEFAULT_SERVER_KEY,
                 certfile=DEFAULT_SERVER_CERT):
        self.use_ssl = ssl
        self.keyfile = keyfile
        self.certfile = certfile
        super(ZephyrXMLRPCServer, self).__init__(
            (host, port),
            allow_none=True,
            requestHandler=ZephyrXMLRPCRequestHandler)

        try:
            zephyr.init()
        except IOError:
            sleep(1)
            zephyr.init()

        self.username = zephyr.sender()
        self.preferences = exported(preferences.Preferences())
        self.subscriptions = exported(SubscriptionManager(self.username))
        self.messenger = exported(Messenger(self.username, db_path=db))
예제 #6
0
    def preferences_action_triggered(self):
        '''Fires up the Preferences dialog. '''

        dlg = preferences.Preferences(self, showToolbar = self.showToolbar)
        sig = dlg.checkBoxSig

        sig.connect(self.show_hide_toolbar)
        dlg.exec_()
예제 #7
0
def test_cancel(qtbot):

    w = preferences.Preferences()

    qtbot.addWidget(w)

    def handle_dialog():
        qtbot.mouseClick(w.pbCancel, Qt.LeftButton)

    QTimer.singleShot(1000, handle_dialog)

    r = w.exec_()
    assert r == 0
 def set_show_preferences(self, fields):
     show_prefs = preferences.Preferences(
         pref_file_name="show_preferences.yaml",
         role=fields.get("Step"),
         seq_override=fields.get("Sequence"),
         shot_override=fields.get("Shot"))
     try:
         hou.setFps(show_prefs["show_settings"]["fps"])
     except KeyError as ke:
         warning_message = "Unable to find {} in show preferences. " \
                           "Not setting fps.".format(ke)
         self.parent.logger.warning(warning_message)
         QtGui.QMessageBox.warning(None, "FPS not set", warning_message)
예제 #9
0
def test_preferences_functions(qtbot):

    w = preferences.Preferences()
    w.rb_frames_mem_disk()
    w.reset_colors()

    qtbot.addWidget(w)

    def handle_dialog():
        qtbot.mouseClick(w.pbOK, Qt.LeftButton)

    QTimer.singleShot(1000, handle_dialog)

    r = w.exec_()
    assert r == 1
    def _set_camera_fps(self, camera_id):
        # get fps from show_preferences file
        fields = self.parent.engine.context.as_template_fields()
        show_prefs = preferences.Preferences(
            pref_file_name="show_preferences.yaml",
            role=fields.get("Step"),
            seq_override=fields.get("Sequence"),
            shot_override=fields.get("Shot"))
        try:
            fps = show_prefs["show_settings"]["fps"]
        except KeyError as ke:
            warning_message = "Unable to find {} in show preferences. " \
                              "Not setting fps.".format(ke)
            self._warn_with_pop_up("FPS not set", warning_message)

        else:
            tde4.setCameraFPS(camera_id, fps)
    def execute(self, setting, settings_type, bundle_obj, extra_params,
                **kwargs):
        """
        Uses the Preferences system to lookup a value for the passed in key
        """
        key = '%s.%s' % (bundle_obj.name, setting)
        default = dict(enumerate(extra_params)).get(0, None)
        prefs = preferences.Preferences(package="sgtk_config")

        value = prefs.get(key, default)
        if settings_type == "int":
            value = int(value)
        elif settings_type == "bool":
            value = bool(value)
        elif settings_type == "str":
            value = str(value)

        return value
예제 #12
0
    def load(self):
        """
        Loads the CacheItem's YAML data from disk.
        """
        # Strip the {preferences} prefix
        path = self.path.replace("{preferences}/", "")

        # Get the "role" from the context
        role = os.environ.get("DD_ROLE", "")
        if self.context and self.context.step:
            role = self.context.step["name"]

        # Populate the item's data before adding it to the cache.
        self._data = dict(
            preferences.Preferences(
                path,
                role,
                package="sgtk_config",
                mergeStrategy=preferences.DeepMergeStrategy()).items())
 def _set_camera_lens_filmback(self, camera_id):
     # get filmback from camera_preferences file
     fields = self.parent.engine.context.as_template_fields()
     cam_preferences = preferences.Preferences(
         pref_file_name='camera_preferences.yaml',
         role=fields.get("Step"),
         seq_override=fields.get("Sequence"),
         shot_override=fields.get("Shot"))
     try:
         primary_cam = cam_preferences['camera_type']
         # setLensFBackHeight() expects cm
         filmback_height = cam_preferences[primary_cam +
                                           "_def"]["vertical_aperture"] / 10
     except KeyError as ke:
         warning_message = "Unable to load camera preferences (filmback)." \
                           "\nKeyError: {}".format(ke)
         self._warn_with_pop_up("Filmback not set", warning_message)
     else:
         lens_id = tde4.getCameraLens(camera_id)
         tde4.setLensFBackHeight(lens_id, filmback_height)
예제 #14
0
                except:
                    pass
        # reload / refresh:
        self.app.prefs = preferences.Preferences()  # validation happens in here
        self.app.keys = self.app.prefs.keys
        
        self.nb.ChangeSelection(pageCurrent)
        return 1  # ok
    
    def getPageText(self,prefsType):
        """Get the prefs text for a given page
        """
        self.nb.ChangeSelection(self.pageIDs[prefsType])
        return self.nb.GetCurrentPage().GetText().encode('utf-8')
    def isChanged(self,prefsType='site'):
        filePath = self.paths['%sPrefsFile' %prefsType]
        if not os.path.isfile(filePath):
            return True
        f = open(filePath, 'r')  # 'r+' fails if the file does not have write permission
        savedTxt = f.read()
        f.close()
        #find the notebook page
        currTxt = self.getPageText(prefsType)
        return (currTxt!=savedTxt)
    
if __name__=='__main__':
    import preferences
    app = wx.PySimpleApp()
    app.prefs=preferences.Preferences()
    dlg = PreferencesDlg(app)
    dlg.ShowModal()
예제 #15
0
                if hasattr(e, '__iter__'):
                    en = listToString(e, depth - 1) + ','
                else:
                    e = e.replace('\\', '\\\\').replace("'", "\\'")
                    # try str() first because we don't want to append "u" if unnecessary.
                    try:
                        en = "'" + str(e) + "',"
                    except:  # unicode
                        # "u" is necessary if string is unicode.
                        en = "u'" + unicode(e) + "',"
                l += en
            # remove unnecessary comma
            if l[-1] == ',':
                l = l[:-1]
            l += ']'
        else:
            l = errmsg
        return l


if __name__ == '__main__':
    import preferences
    if wx.version() < '2.9':
        app = wx.PySimpleApp()
    else:
        app = wx.App(False)
    app.prefs = preferences.Preferences(
    )  #don't do this normally - use the existing psychopy.prefs instance
    dlg = PreferencesDlg(app)
    dlg.ShowModal()
    def set_show_preferences(self, file_path, context):
        # getting fields from file path because
        # context.as_template_fields() doesn't contain {name}, {version}
        file_template = context.sgtk.template_from_path(file_path)
        if not file_template:
            warning_message = "Current file path doesn't conform to Shotgun template. " \
                              "Not setting show default settings."
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "Show defaults not set",
                                      warning_message)
            return

        fields = file_template.get_fields(file_path)
        render_temp = self.get_render_template(context)
        frame_sq_key = context.sgtk.template_keys['SEQ']  # Can 'SEQ' change?

        show_prefs = preferences.Preferences(
            pref_file_name="show_preferences.yaml",
            role=fields.get("Step"),
            seq_override=fields.get("Sequence"),
            shot_override=fields.get("Shot"))
        # set fps
        time_units = {
            15: 'game',
            24: 'film',
            25: 'pal',
            30: 'ntsc',
            48: 'show',
            50: 'palf',
            60: 'ntscf'
        }
        try:
            try:
                cmds.currentUnit(
                    time=time_units[show_prefs["show_settings"]["fps"]])
            except KeyError:
                cmds.currentUnit(
                    time="{}fps".format(show_prefs["show_settings"]["fps"]))
        except KeyError as ke:
            warning_message = "Unable to find {} in show preferences. " \
                              "Not setting fps.".format(ke)
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "FPS not set", warning_message)

        # get resolution and set render defaults
        try:
            fields.update({
                "width":
                show_prefs["show_settings"]["resolution"]["width"],
                "height":
                show_prefs["show_settings"]["resolution"]["height"],
                "output":
                "LAYERPLACEHOLDER"
            })  # output is alphanumeric
            # replace with token <Layer>
        except KeyError as ke:
            warning_message = "Unable to find {} in show preferences. " \
                              "Not setting render defaults.".format(ke)
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "Render defaults not set",
                                      warning_message)
        else:
            fields.pop(
                "extension")  # remove ma as extension to apply default img ext
            render_path = render_temp.apply_fields(fields).replace(
                "LAYERPLACEHOLDER", "<Layer>")
            self.set_render_defaults(fields, render_path, frame_sq_key)
            self.set_vray_settings(fields, render_path, frame_sq_key)
예제 #17
0
import json
import school
import preferences
import algorithms
import scraper
import dao
import report

import os
import tornado
from tornado.escape import json_encode
from tornado.ioloop import IOLoop
from tornado.web import RequestHandler, Application

user_pref = preferences.Preferences(5,5,0,1,1,3,4,3,1,0,0)

names = ["harvard"]

def get_reports(names):
    reports = []
    global user_pref
    schools = dao.get_all_schools()
    for i in range(len(names)):
        reports.append(report.Report(names[i], algorithms.calculate(schools[i], user_pref), schools[i].lsat, schools[i].gpa))
    return reports

class ReportHandler(RequestHandler):
    def get(self):
        for report in get_reports(dao.get_school_names()):
            self.write(json.dumps(report.__dict__))
예제 #18
0
 def setUp(self):
     self.baseconfig = fractconfig.T("test.config")
     self.config = preferences.Preferences(self.baseconfig)
"""
Author: Roberto Lapuente Romo
E-mail: [email protected]
Date: 2013-11-26
"""

import pygame

import preferences

# ==============================================================================
global screen_center, allsprites, objects_group, preferences
screen_center = (600,300)
allsprites = pygame.sprite.OrderedUpdates()
objects_group = pygame.sprite.Group()
preferences = preferences.Preferences()

# ==============================================================================
global RIGHT, LEFT, UP, DOWN, NORTH, SOUTH, EAST, WEST

RIGHT = 0
LEFT = 1
UP = 2
DOWN = 3
NORTH = 'north'
EAST = 'east'
SOUTH = 'south'
WEST = 'west'

# ==============================================================================
global COLD_WEAPON, FIREARM
예제 #20
0
import music
import preferences
import structures.currency
import structures.user

unsaved = False

# User information class
user = None

# Main window
window = None

# Global objects
music = music.Music()  # Music player object
preferences = preferences.Preferences()  # Preferences configuration object
database = database.Database()  # Database connection object
names = structures.user.Names()  # Names object
currency = structures.currency.Currency()  # Currency object

# In-game data handling objects
players = None
clubs = None
stadiums = None
leagues = None
referees = None
nations = None
companies = None
buildings = None
merchandise = None
catering = None
예제 #21
0
def getWidget(parent):
    widget = preferences.Preferences(parent)
    icon = QtGui.QIcon(os.path.join(_CURRENTPATH, 'static', 'gear.svg'))
    title = 'Preferences'
    return widget, icon, title
예제 #22
0
    def set_show_preferences(self, file_path, context):
        fields = context.as_template_fields()

        # getting fields from file path because
        # context.as_template_fields() doesn't contain {name}, {version}
        file_template = context.sgtk.template_from_path(file_path)
        if not file_template:
            warning_message = "Current file path doesn't conform to Shotgun template. " \
                              "Not setting show default settings."
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "Show defaults not set", warning_message)
            return

        fields.update(file_template.get_fields(file_path))
        render_temp = self.get_render_template(context)
        frame_sq_key = context.sgtk.template_keys['SEQ']  # Can 'SEQ' change?

        show_prefs = preferences.Preferences(pref_file_name="show_preferences.yaml",
                                             role=fields.get("Step"),
                                             seq_override=fields.get("Sequence"),
                                             shot_override=fields.get("Shot"))
        # set fps
        try:
            fps = show_prefs["show_settings"]["fps"]
        except KeyError as ke:
            warning_message = "Unable to find {} in show preferences. " \
                              "Not setting fps.".format(ke)
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "FPS not set", warning_message)
        else:
            try:
                try:
                    cmds.currentUnit(time=MAYA_TIME_UNITS[fps])
                except KeyError:
                    # unable to find the fps value in our lookup dict.
                    # try setting the actual value itself, in case Maya version is >=2017
                    cmds.currentUnit(time="{}fps".format(fps))
            except RuntimeError as runtime_error:
                self.parent.logger.error(runtime_error)
                QtGui.QMessageBox.warning(None,
                                          "FPS not set",
                                          "RuntimeError: {}.\n"
                                          "See script editor for details.".format(runtime_error))

        # get resolution and set render defaults
        try:
            fields.update({"width": show_prefs["show_settings"]["resolution"]["width"],
                           "height": show_prefs["show_settings"]["resolution"]["height"],
                           "output": LAYER_PLACEHOLDER})    # output is alphanumeric
                                                            # replace with token <Layer>
        except KeyError as ke:
            warning_message = "Unable to find {} in show preferences. " \
                              "Not setting render defaults.".format(ke)
            self.parent.logger.warning(warning_message)
            QtGui.QMessageBox.warning(None, "Render defaults not set", warning_message)
        else:
            fields.pop("extension")  # remove ma as extension to apply default img ext
            render_path = render_temp.apply_fields(fields)
            maya_prefs = preferences.Preferences(pref_file_name="maya_preferences.yaml",
                                                 role=fields.get("Step"),
                                                 seq_override=fields.get("Sequence"),
                                                 shot_override=fields.get("Shot"))
            self.set_render_settings(fields=fields,
                                     placeholder_render_path=render_path,
                                     frame_sq_key=frame_sq_key,
                                     prefs=maya_prefs)