Exemplo n.º 1
0
class MySearch(BaseSearchView):
    """ a browser view for searching
    """
    ptype = 'MyContentType'
    show_result_with_no_query = True

    search_fields = OrderedDict([
        ('foo', u'Foo'),
        ('bar', u'Bar'),
        ('review_state', u'State'),
    ])

    display_fields = OrderedDict([
        ('foo', u'Foo'),
        ('bar', u'Bar'),
        ('review_state', u'State'),
        ('baz', u'Baz'),
    ])

    @property
    def _display_converters(self):
        converters = super(MySearch, self)._display_converters
        baz_vocab = self.get_vocab('my_vocab')
        converters.update({
            'baz':
            lambda x, **kw: baz_vocab.getTermByToken(x).title
        })
        return converters
Exemplo n.º 2
0
    def default(self, obj):
        
        if isinstance(obj, UBCalcState):
            d = OrderedDict()
            d['name'] = obj.name
            d['crystal'] = obj.crystal
            d['reflist'] = obj.reflist
            d['tau'] = obj.tau
            d['sigma'] = obj.sigma
            d['reference'] = obj.reference
            d['u'] = obj.manual_U
            d['ub'] = obj.manual_UB
            d['or0'] = obj.or0
            d['or1'] = obj.or1
            
            return d
        
        if isinstance(obj, CrystalUnderTest):
            return repr([obj._name, obj._a1, obj._a2, obj._a3, obj._alpha1 * TODEG,
                         obj._alpha2 * TODEG, obj._alpha3 * TODEG])
            
        if isinstance(obj, matrix):
            l = [', '.join((repr(e) for e in row)) for row in obj.tolist()]
            return l
        
        if isinstance(obj, ReflectionList):
            d = OrderedDict()
            for n, ref in enumerate(obj._reflist):
                d[str(n+1)] = ref
            return d

        if isinstance(obj, _Reflection):
            d = OrderedDict()
            d['tag'] = obj.tag
            d['hkl'] = repr([obj.h, obj.k, obj.l])
            d['pos'] = repr(list(obj.pos.totuple()))
            d['energy'] = obj.energy
            dt = eval(obj.time)  # e.g. --> datetime.datetime(2013, 8, 5, 15, 47, 7, 962432)
            d['time'] = None if dt is None else dt.isoformat()
            return d
        
        if isinstance(obj, YouReference):
            d = OrderedDict()
            if obj.n_hkl_configured is not None:
                d['n_hkl_configured'] = repr(obj.n_hkl_configured.T.tolist()[0])
            else:
                d['n_hkl_configured'] = None
            if obj.n_phi_configured is not None:
                d['n_phi_configured'] = repr(obj.n_phi_configured.T.tolist()[0])
            else:
                d['n_phi_configured'] = None
            return d
        
        
        return json.JSONEncoder.default(self, obj)
Exemplo n.º 3
0
def thinfilter(thin, dadidict):
    """
    """
    dadidictOrdered = OrderedDict(sorted(dadidict.items()))
    for site in dadidictOrdered.keys():
        first_chrom = site.split(":")[0]
        first_site = int(site.split(":")[1])
        break
    for site in dadidictOrdered.keys():
        if site.split(":")[0] == first_chrom:
            if int(site.split(":")[1]) < (first_site + thin):
                del dadidictOrdered[site]
            else:
                first_site = int(site.split(":")[1])
        else:
            first_chrom = site.split(":")[0]
            first_site = int(site.split(":")[1])
    return(dadidict)
Exemplo n.º 4
0
 def bottomView(self):
     if self.root == None:
         return
     lst = []
     dit = OrderedDict()
     lst.append((0,self.root))
     
     while len(lst) != 0:
         v,root = lst[0]
         dit[v] = root.data
         if root.left != None:
             lst.append((v-1,root.left))
         if root.right != None:
             lst.append((v+1,root.right))
         lst.pop(0)
     
     for i in sorted(dit.keys()):
         print(dit[i],end=' ')
Exemplo n.º 5
0
def thinfilter(thin, dadidict):
    """
    """
    dadidictOrdered = OrderedDict(sorted(dadidict.items()))
    for site in dadidictOrdered.keys():
        first_chrom = site.split(":")[0]
        first_site = int(site.split(":")[1])
        break
    for site in dadidictOrdered.keys():
        if site.split(":")[0] == first_chrom:
            if int(site.split(":")[1]) < (first_site + thin):
                del dadidictOrdered[site]
            else:
                first_site = int(site.split(":")[1])
        else:
            first_chrom = site.split(":")[0]
            first_site = int(site.split(":")[1])
    return (dadidict)
Exemplo n.º 6
0
    def training_step(self, batch, batch_idx):
        x, y = batch
        y_logits = self.forward(x)
        y_pred = torch.argmax(nn.Softmax(y_logits))
        y_true = y.view((-1, 1)).type_as(x)

        train_loss = self.loss(y_logits, y_true)
        num_correct = torch.eq(y_pred.view(-1), y_true.view(-1)).sum()

        tqdm_dict = {'train_loss': train_loss}
        output = OrderedDict({
            'loss': train_loss,
            'num_correct': num_correct,
            'log': tqdm_dict,
            'progress_bar': tqdm_dict
        })

        return output
from collection import OrderedDict
file_name = "/home/deepak/Project/files/outputs/wordnet/dumped.txt"

pairs = OrderedDict([])
with open(file_name, "r") as f:
    for line in f:
        line = line.strip().split()
        if ((line[2], line[1]) in pairs.keys()):
            continue
        else:
            pairs[(line[1], line[2])] = line[0]

for i in pairs.keys():
    print("%s %s %s", (pairs[i], i[0], i[1]))
Exemplo n.º 8
0
statesAndCapitals = {
    'Gujarat': 'Gandhinagar',
    'Maharashtra': 'Mumbai',
    'Rajasthan': 'Jaipur',
    'Bihar': 'Patna'
}

for state in statesAndCapitals:
    print(state)

# iterate through all keys in a dictionary in a specific order

from collection import OrderedDict

statesAndCapitals = OrderedDict([('Gujarat', 'Gandhinagar'),
                                 ('Maharashtra', 'Mumbai'),
                                 ('Rajasthan', 'Jaipur'), ('Bihar', 'Patna')])

for state in statesAndCapitals:
    print(state)

# Iterate through all values

statesAndCapitals = {
    'Gujarat': 'Gandhinagar',
    'Maharashtra': 'Mumbai',
    'Rajasthan': 'Jaipur',
    'Bihar': 'Patna'
}

for capital in statesAndCapitals.values():
Exemplo n.º 9
0
game= hlt.Game("Destructor-V1")
logging.info("Starting Destructor")

while True:
    game_map = game.update_map()
    command_queue = []

     team_ships = game_map.get_me().all_ships()
    
    for ship in team_ships:
        shipid = ship.id
        if ship.docking_status != ship.DockingStatus.UNDOCKED:
            continue

        entities_by_distance = game_map.nearby_entities_by_distance(ship)
        entities_by_distance = OrderedDict(sorted(entities_by_distance.items(), key=lambda t: t[0]))
        
        closest_empty_planets = [entities_by_distance[distance][0] for distance in entities_by_distance if isinstance(entities_by_distance[distance][0], hlt.entity.Planet) and not entities_by_distance[distance][0].is_owned()]                     
        closest_enemy_ships = [entities_by_distance[distance][0] for distance in entities_by_distance if isinstance(entities_by_distance[distance][0], hlt.entity.Ship) and entities_by_distance[distance][0] not in team_ships]

        if len(closest_empty_planets) > 0:
            target_planet = closest_empty_planets[0]
            if ship.can_dock(target_planet);
                command_queue.append(ship.dock(target_planet))
            else:
                navigate_command = ship.navigate(ship.closest_point_to(target_planet),
                                                 game_map,
                                                 speed = int(hlt.constants.MAX_SPEED),ignore_ships=False)

                if navigate_command:
                    command_queue.append(navigate_command)
Exemplo n.º 10
0
class ProjectsOverview(Search):

    main_search_field = 'Title'
    forced_portal_types = ('Project',)
    allow_portal_types_filter = False
    # this allows for results with no query
    default_query = {
        'portal_type': 'Project',
        'review_state': [
            # use `list` because `tuple` breakes
            # zope `make_query` utils ;)
            'development',
            'maintenance',
            'offer',
            'planning',
        ],
        'sort_on': 'modified',
        'sort_order': 'reverse',
    }
    show_breadcrumbs = False
    updated_search_view_name = 'updated_projects_overview'

    _states_blacklist = ()

    display_fields = OrderedDict([
        ('Title', u'Title'),
        ('review_state', u'State'),
        ('modified', u'Date'),
    ])

    def sort_options(self):
        """ Sorting options for search results view. """
        return (
            SortOption(
                self.request,
                _(u'modified (inv)'),
                sortkey='modified',
                search_view=self,
                reverse=1,
            ),
            SortOption(
                self.request,
                _(u'alphabetically'),
                sortkey='sortable_title',
                search_view=self,
            ),
            SortOption(
                self.request,
                _(u'alphabetically (inv)'),
                sortkey='sortable_title',
                search_view=self,
                reverse=1,
            )
        )

    @property
    def wftool(self):
        wftool = api.portal.get_tool('portal_workflow')
        return wftool

    @view.memoize_contextless
    def _review_states(self):
        states_blacklist = self._states_blacklist
        wf_id = self.wftool.getChainForPortalType(
            self.default_query['portal_type'])[0]
        wf = self.wftool[wf_id]
        return [{'name': x.id, 'title': x.title}
                for x in wf.states.objectValues()
                if x.id not in states_blacklist]

    def review_states(self):
        items = []
        for item in self._review_states():
            selected = item['name'] in self.request.get('review_state')
            selected = selected or \
                item['name'] in self.default_query.get('review_state', [])
            item['selected'] = selected
            items.append(item)
        return items

    @property
    def _display_converters(self):
        plone_view = self.context.restrictedTraverse('@@plone')
        get_date = lambda ob, value, **kw: plone_view.toLocalizedTime(value)
        # get_state_display comes from ViewMixin
        get_state = lambda ob, value, **kw: self.get_state_display(ob, value)
        return {
            # klass converters
            'datetime': get_date,
            'DateTime': get_date,
            'review_state': get_state,
        }

    def get_display_values(self, brain):
        # defaults to brain attributes
        data = {}
        # @@search view actually returns CatalogContentListingObject
        brain = brain._brain
        default_converter = lambda ob, value: value
        for k in self.display_fields.iterkeys():
            if hasattr(brain, k):
                value = getattr(brain, k, None)
                converter = self._display_converters.get(k)
                if converter is None:
                    # look for klass converter
                    klass_name = value.__class__.__name__
                    converter = self._display_converters.get(klass_name,
                                                             default_converter)
                data[k] = converter(brain, value)
        # insert always these
        data['title'] = brain.Title
        data['url'] = brain.getURL()
        data['review_state'] = brain.review_state
        return data

    def get_state_display(self, brain, value):
        _type = brain.portal_type
        return self.wftool.getTitleForStateOnType(value, _type)
Exemplo n.º 11
0
print(nums)  # defaultdict(<class 'int>, {'a':10, 'b':20})
print(nums['a'])  # 10
print(
    nums['c']
)  # 0 <-- NOTE: the key 'c' doesnt exist. So, the key will now be created with value 0
print(nums)  # defaultdict(<class 'int'>, {'a':10, 'b':20, 'c':0})

############################################################################################################################
'''
ORDERED DICT

- It is a dictionary where keys maintain the order in which they are inserted
- that is - if we change the value of a key later, it will not change the position of the key
'''
from collection import OrderedDict
od = OrderedDict()  # OrderedDict()
od['a'] = 1  # OrderedDict([('a', 1)])
od['b'] = 2  # OrderedDict([('a', 1), ('b', 2)])
od['a'] = 4  # OrderedDict([('a', 4), ('b', 2)])

############################################################################################################################
'''
DEQUE
- deque is a list optimized for inserted and removing items from both ends
'''
from collections import deque
lst = ['a', 'b', ' c']  # ['a', 'b', 'c']
deq = deque(lst)  # deque(['a', 'b', 'c'])
deq.append("d")  # deque(['a', 'b', 'c', 'd'])
deq.appendleft("z")  # deque(['z', 'a', 'b', 'c', 'd'])
deq.pop()  # deque(['z', 'a', 'b', 'c'])