RONIN Cast: Robert De Niro, Jean Reno, Natascha McElhone, Stellan Skarsgard, Sean Bean, Skipp Sudduth, Jonathan Pryce, Michael Lonsdale, Katarina Witt Director: John Frankenheimer Screenplay: J.D. Zeik and Richard Weisz Reviewed by Luke Buckmaster
On the Buckmaster scale of 0 stars (bomb), to 5 stars (a masterpiece): 2 and a half stars
The plot of Ronin relies heavily on a valuable briefcase. As in Pulp Fiction, the contents of this briefcase are never revealed, for the simple fact that what is inside of it is insignificant to the film's overall meaning. The briefcase is a tool - or, if you like, an excuse - to give characters the chance to entertain us. That theory pretty much works with all that Ronin has to offer. Director John Frankenheimer (who has had more than forty years of experience in the field) sacrifices a potentially powerful film for the sake of individual, insignificant moments. Ordinarily that might work in a simplistic action flick, but in one that tries to tell as much as Ronin does, success is somewhat limited.
On paper, Ronin certainly has all the assets of a great action film. The past has proven that great action films often do not have great action stars, but rather, solid dramatic actors having a little fun in slightly easier roles. The gripping crime saga Heat positioned Al Pacino alongside Robert DeNiro, and equally peculiar combinations were found in Face/Off (John Travolta and Nicholas Cage) and The Negotiator (Samuel L. Jackson, Kevin Spacey). I was pleased to see DeNiro and Jean Reno (two actors who have proven that they can do more than just look tough, which they do pretty well anyway) form a solid partnership, although they end up twiddling their thumbs with too much screen time and too little to do.
An international team of covert operatives are hired to retrieve a mysterious briefcase. The smart and smug Sam (Robert DeNiro) becomes the obvious leader of the group. When asked if he had ever killed anybody, Sam answers "once I hurt somebody's feelings." The other operatives are French coordinator Vincent (Jean Reano), driver Larry (Skipp Sudduth), weapons specialist Spence (Sean Bean, best known for his role as 006 in Goldeneye) and hi-tech gadgets specialist Gregor (Stellan Skarsgard). Holding the team together is employer Deirdre (Natasha McElhone), who is equally as cold as the people working for her.
Ignore the stylish backdrops and sophisticated European settings - Ronin makes little sense. Its screenplay by J.D. Zeik and Richard Weisz sprouts various developments, ranging from betrayal to even a hint of romance. There's a surprise bad guy, another surprise bad guy, a good guy, another good guy, a coward, and so forth. Before Ronin develops its primary characters, more characters are introduced. Before Ronin allows us to absorb the seriousness of its scenarios, another one is on the way. This makes for tense and often gripping moments, but I feel that the film would have benefited from a little more breathing space. Enemy of the State staged a similar intensity, but this was done intentionally and intelligently, whereas Ronin seems to try too hard to keep viewers on the edge of their seats.
Frankenheimer deliberately refrains from developing his central characters. You will walk away from Ronin not knowing much about who they are or what motivates them, with the exception of some minor details (Sam is there purely for the money, that's for sure). For the most part, the coldness and bitterness of the film's relationships work on exactly the right levels. Even when Sam and Vincent develop a loyal friendship, you get the feeling that something is holding them back. Their professionalism is unshakable; if one saves the life of the other, their initial reaction is not to show their appreciation, but to return the favor. DeNiro and Reno give convincing performances in the most likeable parts, and the bittersweet supporting cast get their moments to shine.
In a silly little voice over at the film's completion, Frankenheimer almost seems to be asking us not to condemn his film for its lack of emotion. Whilst I appreciated the way Ronin captures the spirit of the killer for hire industry, Frankenheimer spells it out to us in big bright letters, rather than allowing viewers to walk away with a personal interpretation as to how it works. The industry is cold. C - O - L - D.
"A thinking man's action pic" is the general description that many have given this film. My two cents says that its creators certainly did think about what they were doing, but tried to make too much out of too little. Ronin certainly has many rewarding moments (including a couple of eye popping chase scenes), and a handful of performances of an unusually high standard. But Frankenheimer never lets his settings or characters come alive in the way they should have. Not only does he sacrifice a potentially powerful film for the sake of some exciting moments, but also a wide range of intriguing characters for a wide range of inaccessible ones.
Alphalink Movies http://moviezone.alphalink.com.au
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


See: Description
| Class | Description |
|---|---|
| BcChaCha20Poly1305 | |
| BcDefaultTlsCredentialedAgreement |
Credentialed class generating agreed secrets from a peer's public key for our end of the TLS connection using the BC light-weight API.
|
| BcDefaultTlsCredentialedDecryptor |
Credentialed class decrypting RSA encrypted secrets sent from a peer for our end of the TLS connection using the BC light-weight API.
|
| BcDefaultTlsCredentialedSigner |
Credentialed class for generating signatures based on the use of primitives from the BC light-weight API.
|
| BcTlsCertificate |
Implementation class for a single X.509 certificate based on the BC light-weight API.
|
| BcTlsCrypto |
Class for providing cryptographic services for TLS based on implementations in the BC light-weight API.
|
| BcTlsDH |
Support class for ephemeral Diffie-Hellman using the BC light-weight library.
|
| BcTlsDHDomain |
BC light-weight support class for Diffie-Hellman key pair generation and key agreement over a specified Diffie-Hellman configuration.
|
| BcTlsDSASigner |
Implementation class for generation of the raw DSA signature type using the BC light-weight API.
|
| BcTlsDSAVerifier |
Implementation class for the verification of the raw DSA signature type using the BC light-weight API.
|
| BcTlsDSSSigner |
BC light-weight base class for the signers implementing the two DSA style algorithms from FIPS PUB 186-4: DSA and ECDSA.
|
| BcTlsDSSVerifier |
BC light-weight base class for the verifiers supporting the two DSA style algorithms from FIPS PUB 186-4: DSA and ECDSA.
|
| BcTlsECDH |
Support class for ephemeral Elliptic Curve Diffie-Hellman using the BC light-weight library.
|
| BcTlsECDomain |
EC domain class for generating key pairs and performing key agreement.
|
| BcTlsECDSASigner |
Implementation class for generation of the raw ECDSA signature type using the BC light-weight API.
|
| BcTlsECDSAVerifier |
Implementation class for the verification of the raw ECDSA signature type using the BC light-weight API.
|
| BcTlsEd25519Signer | |
| BcTlsEd25519Verifier | |
| BcTlsEd448Signer | |
| BcTlsEd448Verifier | |
| BcTlsRSAPSSSigner |
Operator supporting the generation of RSASSA-PSS signatures using the BC light-weight API.
|
| BcTlsRSAPSSVerifier |
Operator supporting the verification of RSASSA-PSS signatures using the BC light-weight API.
|
| BcTlsRSASigner |
Operator supporting the generation of RSASSA-PKCS1-v1_5 signatures using the BC light-weight API.
|
| BcTlsRSAVerifier |
Operator supporting the verification of RSASSA-PKCS1-v1_5 signatures using the BC light-weight API.
|
| BcTlsSecret |
BC light-weight support class for handling TLS secrets and deriving key material and other secrets from them.
|
| BcTlsSigner | |
| BcTlsVerifier | |
| BcX25519 |
Support class for X25519 using the BC light-weight library.
|
| BcX25519Domain | |
| BcX448 |
Support class for X448 using the BC light-weight library.
|
| BcX448Domain |


Chelsea Center at St. Thomas More Catholic Church in Gulf Gate ...
Chelsea Center at St. Thomas More Catholic Church, Sarasota, FL . Come to TBOextra.com for details including reviews, events and directions.
http://events.tboextra.com/sarasota_fl/venues/show/937544-chelsea-center-at-st-thomas-more-catholic-church
The Chelsea Center Events & Information - Sarasota, FL - Sarasota ...
The Chelsea Center, Sarasota, FL: Get Reviews, Ratings, Photos, Directions and more with Sarasota Herald-Tribune.
http://events.heraldtribune.com/sarasota_fl/venues/show/978085-the-chelsea-center
Chelsea Center Sarasota, Wedding & Reception Venue - YouTube
Oct 5, 2011 . http://sarasotaweddingideas.com/chelsea-center-sarasota-fl- . Sarasota wedding venue - Chelsea Center in Sarasota Fl. A Sarasota Weddi...
http://www.youtube.com/watch?v=VNLe4rHOTIY
Sarasota Events | Eventbrite
. 2013 at 4:00 PM. Where: Chelsea Center, 2506 Gulf Gate Dr, Sarasota, FL . 2013 at 6:30 PM. Where: Michael's On East, 1212 East Avenue, Sarasota, FL .
http://www.eventbrite.com/directory/Florida/Sarasota
Chelsea Center - Sarasota, FL Patch
The Chelsea Center is an event, fundraiser and business venue affiliated with the St. Thomas More Church. It's located on 21 acres of wooded grounds and .
http://sarasota.patch.com/listings/chelsea-center
Chelsea Center Halloween Wedding Dana and Marc 138.jpg
Nellies Deli, Market, and Catering is located in Sarasota, Florida. Nellies offers . Chelsea Center Halloween Wedding Dana and Marc 138.jpg. Chelsea Center .
http://www.nelliescatering.com/#!chelsea
The Men Meeting March Tickets at The Chelsea Center in Sarasota ...
Mar 4, 2013 . The Chelsea Center Sarasota, FL. Buy Tickets. The Men of St. Thomas More Monthly Meeting March 4, 2013. Â Â FAQs. Not a member?
http://events.ticketsarasota.com/sarasota_fl/events/show/311867803-the-men-meeting-march


{{define "title"}} Welcome to Go-Wiki {{end}} {{define "content"}}
Golang powered Wiki web application
Start contributing now or take a look at our documentation to discover how to!


Film review by Kevin Patterson
The Lost World (PG-13, 1997) Directed by Stephen Spielberg. Screenplay by David Koepp. Based on the novel by Michael Crichton. Starring Jeff Goldblum, Julianne Moore.
Let's start with the good news: The Lost World is a decent, entertaining summer thriller. The special effects team does a wonderful job in bringing these dinosaurs to life, and there is plenty of fast-paced action and suspense to make it fun to watch. Jeff Goldblum returns as Dr. Ian Malcolm, the mathematician and chaos theorist from Jurassic Park, delivering his lines with a nervous deadpan that would make Fox "Spooky" Mulder of X-Files fame proud. It has all the necessary ingredients for its status as the summer blockbuster of the year.
Now for the bad news. First of all, the plot is for the most part a re-hash of the first film: Humans arrive on island populated by genetically resurrected dinosaurs.  The main characters are attacked by a Tyrannosaurus Rex while in an automobile and one of them gets eaten, then they escape and run around in the jungle for a while before they reach a power station which they use to call for help. The only difference here is that one T. Rex manages to find its way to San Diego, which, surprise surprise, results in more chases, more destruction, and more people being eaten. It also sinks even further into action-movie clich*s-did anyone really think that Dr. Malcolm's estranged daughter wasn't going to end up on the trip to the island somehow?
Perhaps in an attempt to differentiate itself from Jurassic Park, this one seems to be trying to find an uneasy compromise between the kind-of-scary-but-family-friendly nature of the first movie (after all, these are dinosaurs) and sheer cold-blooded terror. It doesn't always work: a scene in which a boy wakes up in the middle of the night and tells his incredulous parents that "there's a dinosaur in our back yard" kind of ceases to be cute and endearing when it ends with the family's dog (and probably the family themselves) being gobbled up. It also tries to push a message about conservation, which I guess is admirable, but I wonder how many environmentalists would appreciate the script's conflation of Greenpeace activists with Earth First! eco-terrorists.
This is not to take anything away from Spielberg, who clearly still knows how to direct a tight, suspenseful thriller with dazzling special effects and stunts. I just don't think this is one of his better films, nor is it even that important an addition to the Jurassic Park legacy. Like Independence Day, whose box-office records it has now broken, it seems like just another summer sensation that will probably be forgotten in a year or two.
Grade: B-
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
CUTLASS
CUDA Templates for Linear Algebra Subroutines and Solvers
|
#include <tensor_op_multiplicand_sm75.h>
Public Types | |
| using | Index = int32_t |
| Index type used for coordinates. More... | |
| using | LongIndex = int64_t |
| Long index type used for offsets. More... | |
| using | TensorCoord = PitchLinearCoord |
| Logical coordinate. More... | |
| using | Stride = Coord< kStrideRank, Index, LongIndex > |
| Stride vector. More... | |
| using | TileShape = PitchLinearShape< 8, 4 > |
| Fundamental tile shape in units of vectors. More... | |
| using | PartitionShape = PitchLinearShape< 8, 4 > |
| Partitionshape is the same as TileShape for this layout. More... | |
| using | PartitionCount = PitchLinearShape< TileShape::kContiguous/PartitionShape::kContiguous, TileShape::kStrided/PartitionShape::kStrided > |
| using | AccessCount = PitchLinearShape< PartitionShape::kContiguous, PartitionShape::kStrided > |
Public Member Functions | |
| CUTLASS_HOST_DEVICE | TensorOpMultiplicandCongruous (Index ldm=0) |
| Ctor. More... | |
| CUTLASS_HOST_DEVICE | TensorOpMultiplicandCongruous (Stride stride) |
| Ctor. More... | |
| CUTLASS_HOST_DEVICE LongIndex | operator() (TensorCoord const &coord) const |
| CUTLASS_HOST_DEVICE Stride | stride () const |
| Returns the stride of the layout. More... | |
| CUTLASS_HOST_DEVICE Stride & | stride () |
| Returns the stride of the layout. More... | |
| CUTLASS_HOST_DEVICE LongIndex | capacity (TensorCoord const &extent) const |
Static Public Member Functions | |
| static CUTLASS_HOST_DEVICE TensorOpMultiplicandCongruous | packed (TensorCoord const &extent) |
| Helper returns a layout to a tightly packed tensor. More... | |
Static Public Attributes | |
| static int const | kRank = 2 |
| Logical rank of tensor. More... | |
| static int const | kStrideRank = 1 |
| Rank of stride vector. More... | |
| static int const | kAccessSize = 128 |
| This layout is optimized for 128b accesses. More... | |
| static int const | kElementSize = 32 |
| static int const | kElementsPerAccess = kAccessSize / kElementSize |
Template based on element size (in bits) - defined in terms of pitch-linear memory and Crosswise size (in elements).
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::AccessCount = PitchLinearShape<PartitionShape::kContiguous, PartitionShape::kStrided> |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::Index = int32_t |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::LongIndex = int64_t |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::PartitionCount = PitchLinearShape<TileShape::kContiguous / PartitionShape::kContiguous, TileShape::kStrided / PartitionShape::kStrided> |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::PartitionShape = PitchLinearShape<8, 4> |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::Stride = Coord<kStrideRank, Index, LongIndex> |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::TensorCoord = PitchLinearCoord |
| using cutlass::layout::TensorOpMultiplicandCongruous< 32, Crosswise >::TileShape = PitchLinearShape<8, 4> |
|
inline |
|
inline |
|
inline |
Compute the number of contiguous elements needed to store a tensor with the given size
|
inline |
Returns the offset of a coordinate in linear memory. Assumes coordinate has convention (contiguous, strided)
|
inlinestatic |
|
inline |
|
inline |
|
static |
|
static |
|
static |
|
static |
|
static |


The Unit Circle
The Unit Circle is a circle with a radius of one which is used widely in trigonometry to explore sine and cosine values at various points along a circle. In a circle, right triangle can be created between any point on a circle, the origin, and an axis. In this triangle, the length of the hypotenuse will be 1, and the two bases will be the x-value and y-value.
Because of the Pythagorean identity $ a^2+b^2=c^2 $, which can be adapted for this triangle as $ x^2+y^2=1 $, where x is the cosine value and y is the sine value, the Pythagorean identity can be rewritten as $sin^2 (x)+cos^2(x)=1 $. Because of this identity, certain angle measures along the circle, such as $ \pi \over6 $ radians, will have intriguing values.


Dr. Joseph Benjamin has done considerable research on the problems of weaker sections of Indian Society. He has published a number of high quality articles in papers and prestigious national journals. He did his M.A. and Ph.D. in Political Science. His books includes (i) Scheduled Castes in Indian Politics and Society, (ii) Indo-Pak Relations, (iii) Minorities in Indian Social System, (iv) Human Rights in Indian Situation. Currently he is Reader and Head, Department of Political Science, St. Francis de Sales' College, (RTM Nagpur University) Nagpur, since 1987.
Associate Professor, Saint Francis College De Sales, Nagpur, India
Political Science
Political Science


Toggle navigation
My Profile
FAQS
Logout
Home
Student Athletes
Manage Student Athletes
Add Student Athlete
Student Managers
Manage Student Managers
Add Student Managers
Scholarships
Scholar Athletes
Scholarship Summary
Reports
A.S.S.R.
A.S.M.R.
M.A.R.
A.P.F.R.
A.A.P.F.R.
Add Course
Search Student
>>
Add Course
Name:
Modino, Christian Concepcion
ID No:
11443359
Team:
Animo Squad
Academic Year:
2016 - 2017
Units Remaining:
250.0(10)
First Term
Second Term
Third Term
Term1 AY 2016 - 2017
Course Code
Unit/s
Enrolled
Actions
Yes
No
Total Units:
Total Courses:
Save


The forest not only hides man’s enemies but its full of man’s medicine, healing power and food.
~ Afrikan Proverb


--- layout: post title: Where users click tags: [] status: publish type: post published: true meta: {} ---
The web reference news letter from a few weeks back carried a link to Micheal Angeles' blog entry on ways that he adopted to find out how user's were using page layouts, the outcome of this analysis and the resulting case for change.


|
Battleships
1.0
|
MouseController class is responsible for holding state of ship carried and game progress. More...
#include <MouseController.h>
Public Member Functions | |
| MouseController (int state) | |
| Constructor that creates new MouseController. More... | |
| int | getState () |
| Function that returns current state of mouse controller. More... | |
| void | setState (int) |
| Function that sets current state of mouse controller. | |
| int | getShipSize () |
| Function that returns current ship size of mouse controller. More... | |
| void | setShipSize (int) |
| Function that sets current ship size of mouse controller. | |
| bool | getFlip () |
| Function that returns current flip of mouse controller. More... | |
| void | setFlip (int) |
| Function that sets current flip of mouse controller. | |
MouseController class is responsible for holding state of ship carried and game progress.
| Battleships::MouseController::MouseController | ( | int | state | ) |
Constructor that creates new MouseController.
| state | - start state of controller |
| bool Battleships::MouseController::getFlip | ( | ) |
Function that returns current flip of mouse controller.
| int Battleships::MouseController::getShipSize | ( | ) |
Function that returns current ship size of mouse controller.
| int Battleships::MouseController::getState | ( | ) |
Function that returns current state of mouse controller.


nflgame.seq module
import functools
import itertools
import operator
from nflgame import OrderedDict
from nflgame import statmap
_BUILTIN_PREDS = {
'__lt': operator.lt,
'__le': operator.le,
'__ne': operator.ne,
'__ge': operator.ge,
'__gt': operator.gt,
}
"""
A dictionary of suffixes to predicates that can be used in Gen.filter.
The suffix corresponds to what to add to the end of a field name to invoke
the predicate it corresponds to. For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
(Django users should feel right at home.)
"""
class Gen (object):
"""
Players implements a sequence type and provides a convenient API for
searching sets of players.
"""
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))
def __str__(self):
"""Returns a list of items in the sequence."""
return '[%s]' % ', '.join([str(item) for item in self])
def __iter__(self):
"""Make this an iterable sequence."""
if self.__iter is None:
return iter([])
if isinstance(self.__iter, OrderedDict):
return self.__iter.itervalues()
return iter(self.__iter)
def __reversed__(self):
"""Satisfy the built in reversed."""
return reversed(self.__iter)
class GenDrives (Gen):
"""
GenDrives implements a sequence type and provides a convenient API
for searching drives.
"""
def plays(self):
"""
Returns all of the plays, in order, belonging to every drive in
the sequence.
"""
return GenPlays(itertools.chain(*map(lambda d: d.plays, self)))
def players(self):
"""
Returns the combined player stats for every player that participated
in any of the drives in the sequence.
"""
return self.plays().players()
def number(self, n, team=None):
"""
Gets the Nth drive where the first drive corresponds to n=1. This is
only useful given a complete collection of drives for an entire game.
If the team parameter is specified (i.e., team='NE'), then n will
be interpreted as *that* team's Nth drive.
"""
assert n > 0
n -= 1
if team is None:
return list(self)[n]
else:
i = 0
for d in self:
if d.team == team:
if i == n:
return d
i += 1
assert False, \
'Could not find drive %d for team %s.' % (n + 1, team)
class GenPlays (Gen):
"""
GenPlays implements a sequence type and provides a convenient API
for searching plays.
"""
def players(self):
"""
Returns the combined player stats for every play in the sequence.
"""
players = OrderedDict()
for play in self:
for player in play.players:
if player.playerid not in players:
players[player.playerid] = player
else:
players[player.playerid] += player
return GenPlayerStats(players)
class GenPlayerStats (Gen):
"""
GenPlayerStats implements a sequence type and provides a convenient API for
searching sets of player statistics.
"""
def name(self, name):
"""
Returns a single player whose name equals `name`. If no such player
can be found, None is returned.
Note that NFL GameCenter formats their names like "T.Brady" and
"W.Welker". Thus, `name` should also be in this format.
"""
for p in self:
if p.name == name:
return p
return None
def playerid(self, playerid):
"""
Returns a single player whose NFL GameCenter identifier equals
`playerid`. This probably isn't too useful, unless you're trying
to do ID mapping. (Players have different identifiers across NFL.com.)
If no such player with the given identifier is found, None is
returned.
"""
for p in self:
if p.playerid == playerid:
return p
return None
def touchdowns(self):
"""
touchdowns is a convenience method for returning a Players
sequence of all players with at least one touchdown.
"""
def gen():
for p in self:
for f in p.__dict__:
if f.endswith('tds') and p.__dict__[f] > 0:
yield p
break
return self.__class__(gen())
def __filter_category(self, cat):
return self.__class__(itertools.ifilter(lambda p: p.has_cat(cat),
self))
def passing(self):
"""Returns players that have a "passing" statistical category."""
return self.__filter_category('passing')
def rushing(self):
"""Returns players that have a "rushing" statistical category."""
return self.__filter_category('rushing')
def receiving(self):
"""Returns players that have a "receiving" statistical category."""
return self.__filter_category('receiving')
def fumbles(self):
"""Returns players that have a "fumbles" statistical category."""
return self.__filter_category('fumbles')
def kicking(self):
"""Returns players that have a "kicking" statistical category."""
return self.__filter_category('kicking')
def punting(self):
"""Returns players that have a "punting" statistical category."""
return self.__filter_category('punting')
def kickret(self):
"""Returns players that have a "kickret" statistical category."""
return self.__filter_category('kickret')
def puntret(self):
"""Returns players that have a "puntret" statistical category."""
return self.__filter_category('puntret')
def defense(self):
"""Returns players that have a "defense" statistical category."""
return self.__filter_category('defense')
def penalty(self):
"""Returns players that have a "penalty" statistical category."""
return self.__filter_category('penalty')
def csv(self, fileName, allfields=False):
"""
Given a file-name fileName, csv will write the contents of
the Players sequence to fileName formatted as comma-separated values.
The resulting file can then be opened directly with programs like
Excel, Google Docs, Libre Office and Open Office.
Note that since each player in a Players sequence may have differing
statistical categories (like a quarterback and a receiver), the
minimum constraining set of statisical categories is used as the
header row for the resulting CSV file. This behavior can be changed
by setting 'allfields' to True, which will use every available field
in the header.
"""
import csv
fields, rows = set([]), []
players = list(self)
for p in players:
for field, stat in p.stats.iteritems():
fields.add(field)
if allfields:
for statId, info in statmap.idmap.iteritems():
for field in info['fields']:
fields.add(field)
fields = sorted(list(fields))
for p in players:
d = {
'name': p.name,
'id': p.playerid,
'home': p.home and 'yes' or 'no',
'team': p.team,
'pos': 'N/A',
}
if p.player is not None:
d['pos'] = p.player.position
for field in fields:
if field in p.__dict__:
d[field] = p.__dict__[field]
else:
d[field] = ""
rows.append(d)
fieldNames = ["name", "id", "home", "team", "pos"] + fields
rows = [dict((f, f) for f in fieldNames)] + rows
csv.DictWriter(open(fileName, 'wb+'), fieldNames).writerows(rows)
def __add__(self, other):
"""
Adds two sequences of players by combining repeat players and summing
their statistics.
"""
players = OrderedDict()
for p in itertools.chain(self, other):
if p.playerid not in players:
players[p.playerid] = p
else:
players[p.playerid] += p
return GenPlayerStats(players)
Classes
class Gen
Players implements a sequence type and provides a convenient API for searching sets of players.
class Gen (object):
"""
Players implements a sequence type and provides a convenient API for
searching sets of players.
"""
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))
def __str__(self):
"""Returns a list of items in the sequence."""
return '[%s]' % ', '.join([str(item) for item in self])
def __iter__(self):
"""Make this an iterable sequence."""
if self.__iter is None:
return iter([])
if isinstance(self.__iter, OrderedDict):
return self.__iter.itervalues()
return iter(self.__iter)
def __reversed__(self):
"""Satisfy the built in reversed."""
return reversed(self.__iter)
Ancestors (in MRO)
- Gen
- __builtin__.object
Methods
def __init__(
self, iterable)
Creates a new Players sequence from an iterable where each element of the iterable is an instance of the Player class.
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def filter(
self, **kwargs)
filters the sequence based on a set of criteria. Parameter names should be equivalent to the properties accessible in the items of the sequence. For example, where the items are instances of the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that item is excluded from the result set.
If a field is set to a value, then only items with fields that equal that value are returned.
If a field is set to a function---which must be a predicate---then only items with field values satisfying that function will be returned.
Also, special suffixes that begin with '__' may be added to the end of a field name to invoke built in predicates. For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def limit(
self, n)
Limit the sequence to N items.
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def sort(
self, field, descending=True)
sorts the sequence according to the field specified---where field is a property on an item in the sequence. If descending is false, items will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a KeyError will be raised.
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))
class GenDrives
GenDrives implements a sequence type and provides a convenient API for searching drives.
class GenDrives (Gen):
"""
GenDrives implements a sequence type and provides a convenient API
for searching drives.
"""
def plays(self):
"""
Returns all of the plays, in order, belonging to every drive in
the sequence.
"""
return GenPlays(itertools.chain(*map(lambda d: d.plays, self)))
def players(self):
"""
Returns the combined player stats for every player that participated
in any of the drives in the sequence.
"""
return self.plays().players()
def number(self, n, team=None):
"""
Gets the Nth drive where the first drive corresponds to n=1. This is
only useful given a complete collection of drives for an entire game.
If the team parameter is specified (i.e., team='NE'), then n will
be interpreted as *that* team's Nth drive.
"""
assert n > 0
n -= 1
if team is None:
return list(self)[n]
else:
i = 0
for d in self:
if d.team == team:
if i == n:
return d
i += 1
assert False, \
'Could not find drive %d for team %s.' % (n + 1, team)
Ancestors (in MRO)
Methods
def __init__(
self, iterable)
Creates a new Players sequence from an iterable where each element of the iterable is an instance of the Player class.
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def filter(
self, **kwargs)
filters the sequence based on a set of criteria. Parameter names should be equivalent to the properties accessible in the items of the sequence. For example, where the items are instances of the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that item is excluded from the result set.
If a field is set to a value, then only items with fields that equal that value are returned.
If a field is set to a function---which must be a predicate---then only items with field values satisfying that function will be returned.
Also, special suffixes that begin with '__' may be added to the end of a field name to invoke built in predicates. For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def limit(
self, n)
Limit the sequence to N items.
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def number(
self, n, team=None)
Gets the Nth drive where the first drive corresponds to n=1. This is only useful given a complete collection of drives for an entire game.
If the team parameter is specified (i.e., team='NE'), then n will be interpreted as that team's Nth drive.
def number(self, n, team=None):
"""
Gets the Nth drive where the first drive corresponds to n=1. This is
only useful given a complete collection of drives for an entire game.
If the team parameter is specified (i.e., team='NE'), then n will
be interpreted as *that* team's Nth drive.
"""
assert n > 0
n -= 1
if team is None:
return list(self)[n]
else:
i = 0
for d in self:
if d.team == team:
if i == n:
return d
i += 1
assert False, \
'Could not find drive %d for team %s.' % (n + 1, team)
def players(
self)
Returns the combined player stats for every player that participated in any of the drives in the sequence.
def players(self):
"""
Returns the combined player stats for every player that participated
in any of the drives in the sequence.
"""
return self.plays().players()
def plays(
self)
Returns all of the plays, in order, belonging to every drive in the sequence.
def plays(self):
"""
Returns all of the plays, in order, belonging to every drive in
the sequence.
"""
return GenPlays(itertools.chain(*map(lambda d: d.plays, self)))
def sort(
self, field, descending=True)
sorts the sequence according to the field specified---where field is a property on an item in the sequence. If descending is false, items will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a KeyError will be raised.
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))
class GenPlayerStats
GenPlayerStats implements a sequence type and provides a convenient API for searching sets of player statistics.
class GenPlayerStats (Gen):
"""
GenPlayerStats implements a sequence type and provides a convenient API for
searching sets of player statistics.
"""
def name(self, name):
"""
Returns a single player whose name equals `name`. If no such player
can be found, None is returned.
Note that NFL GameCenter formats their names like "T.Brady" and
"W.Welker". Thus, `name` should also be in this format.
"""
for p in self:
if p.name == name:
return p
return None
def playerid(self, playerid):
"""
Returns a single player whose NFL GameCenter identifier equals
`playerid`. This probably isn't too useful, unless you're trying
to do ID mapping. (Players have different identifiers across NFL.com.)
If no such player with the given identifier is found, None is
returned.
"""
for p in self:
if p.playerid == playerid:
return p
return None
def touchdowns(self):
"""
touchdowns is a convenience method for returning a Players
sequence of all players with at least one touchdown.
"""
def gen():
for p in self:
for f in p.__dict__:
if f.endswith('tds') and p.__dict__[f] > 0:
yield p
break
return self.__class__(gen())
def __filter_category(self, cat):
return self.__class__(itertools.ifilter(lambda p: p.has_cat(cat),
self))
def passing(self):
"""Returns players that have a "passing" statistical category."""
return self.__filter_category('passing')
def rushing(self):
"""Returns players that have a "rushing" statistical category."""
return self.__filter_category('rushing')
def receiving(self):
"""Returns players that have a "receiving" statistical category."""
return self.__filter_category('receiving')
def fumbles(self):
"""Returns players that have a "fumbles" statistical category."""
return self.__filter_category('fumbles')
def kicking(self):
"""Returns players that have a "kicking" statistical category."""
return self.__filter_category('kicking')
def punting(self):
"""Returns players that have a "punting" statistical category."""
return self.__filter_category('punting')
def kickret(self):
"""Returns players that have a "kickret" statistical category."""
return self.__filter_category('kickret')
def puntret(self):
"""Returns players that have a "puntret" statistical category."""
return self.__filter_category('puntret')
def defense(self):
"""Returns players that have a "defense" statistical category."""
return self.__filter_category('defense')
def penalty(self):
"""Returns players that have a "penalty" statistical category."""
return self.__filter_category('penalty')
def csv(self, fileName, allfields=False):
"""
Given a file-name fileName, csv will write the contents of
the Players sequence to fileName formatted as comma-separated values.
The resulting file can then be opened directly with programs like
Excel, Google Docs, Libre Office and Open Office.
Note that since each player in a Players sequence may have differing
statistical categories (like a quarterback and a receiver), the
minimum constraining set of statisical categories is used as the
header row for the resulting CSV file. This behavior can be changed
by setting 'allfields' to True, which will use every available field
in the header.
"""
import csv
fields, rows = set([]), []
players = list(self)
for p in players:
for field, stat in p.stats.iteritems():
fields.add(field)
if allfields:
for statId, info in statmap.idmap.iteritems():
for field in info['fields']:
fields.add(field)
fields = sorted(list(fields))
for p in players:
d = {
'name': p.name,
'id': p.playerid,
'home': p.home and 'yes' or 'no',
'team': p.team,
'pos': 'N/A',
}
if p.player is not None:
d['pos'] = p.player.position
for field in fields:
if field in p.__dict__:
d[field] = p.__dict__[field]
else:
d[field] = ""
rows.append(d)
fieldNames = ["name", "id", "home", "team", "pos"] + fields
rows = [dict((f, f) for f in fieldNames)] + rows
csv.DictWriter(open(fileName, 'wb+'), fieldNames).writerows(rows)
def __add__(self, other):
"""
Adds two sequences of players by combining repeat players and summing
their statistics.
"""
players = OrderedDict()
for p in itertools.chain(self, other):
if p.playerid not in players:
players[p.playerid] = p
else:
players[p.playerid] += p
return GenPlayerStats(players)
Ancestors (in MRO)
- GenPlayerStats
- Gen
- __builtin__.object
Methods
def __init__(
self, iterable)
Creates a new Players sequence from an iterable where each element of the iterable is an instance of the Player class.
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def csv(
self, fileName, allfields=False)
Given a file-name fileName, csv will write the contents of the Players sequence to fileName formatted as comma-separated values. The resulting file can then be opened directly with programs like Excel, Google Docs, Libre Office and Open Office.
Note that since each player in a Players sequence may have differing statistical categories (like a quarterback and a receiver), the minimum constraining set of statisical categories is used as the header row for the resulting CSV file. This behavior can be changed by setting 'allfields' to True, which will use every available field in the header.
def csv(self, fileName, allfields=False):
"""
Given a file-name fileName, csv will write the contents of
the Players sequence to fileName formatted as comma-separated values.
The resulting file can then be opened directly with programs like
Excel, Google Docs, Libre Office and Open Office.
Note that since each player in a Players sequence may have differing
statistical categories (like a quarterback and a receiver), the
minimum constraining set of statisical categories is used as the
header row for the resulting CSV file. This behavior can be changed
by setting 'allfields' to True, which will use every available field
in the header.
"""
import csv
fields, rows = set([]), []
players = list(self)
for p in players:
for field, stat in p.stats.iteritems():
fields.add(field)
if allfields:
for statId, info in statmap.idmap.iteritems():
for field in info['fields']:
fields.add(field)
fields = sorted(list(fields))
for p in players:
d = {
'name': p.name,
'id': p.playerid,
'home': p.home and 'yes' or 'no',
'team': p.team,
'pos': 'N/A',
}
if p.player is not None:
d['pos'] = p.player.position
for field in fields:
if field in p.__dict__:
d[field] = p.__dict__[field]
else:
d[field] = ""
rows.append(d)
fieldNames = ["name", "id", "home", "team", "pos"] + fields
rows = [dict((f, f) for f in fieldNames)] + rows
csv.DictWriter(open(fileName, 'wb+'), fieldNames).writerows(rows)
def defense(
self)
Returns players that have a "defense" statistical category.
def defense(self):
"""Returns players that have a "defense" statistical category."""
return self.__filter_category('defense')
def filter(
self, **kwargs)
filters the sequence based on a set of criteria. Parameter names should be equivalent to the properties accessible in the items of the sequence. For example, where the items are instances of the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that item is excluded from the result set.
If a field is set to a value, then only items with fields that equal that value are returned.
If a field is set to a function---which must be a predicate---then only items with field values satisfying that function will be returned.
Also, special suffixes that begin with '__' may be added to the end of a field name to invoke built in predicates. For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def fumbles(
self)
Returns players that have a "fumbles" statistical category.
def fumbles(self):
"""Returns players that have a "fumbles" statistical category."""
return self.__filter_category('fumbles')
def kicking(
self)
Returns players that have a "kicking" statistical category.
def kicking(self):
"""Returns players that have a "kicking" statistical category."""
return self.__filter_category('kicking')
def kickret(
self)
Returns players that have a "kickret" statistical category.
def kickret(self):
"""Returns players that have a "kickret" statistical category."""
return self.__filter_category('kickret')
def limit(
self, n)
Limit the sequence to N items.
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def name(
self, name)
Returns a single player whose name equals name
. If no such player
can be found, None is returned.
Note that NFL GameCenter formats their names like "T.Brady" and
"W.Welker". Thus, name
should also be in this format.
def name(self, name):
"""
Returns a single player whose name equals `name`. If no such player
can be found, None is returned.
Note that NFL GameCenter formats their names like "T.Brady" and
"W.Welker". Thus, `name` should also be in this format.
"""
for p in self:
if p.name == name:
return p
return None
def passing(
self)
Returns players that have a "passing" statistical category.
def passing(self):
"""Returns players that have a "passing" statistical category."""
return self.__filter_category('passing')
def penalty(
self)
Returns players that have a "penalty" statistical category.
def penalty(self):
"""Returns players that have a "penalty" statistical category."""
return self.__filter_category('penalty')
def playerid(
self, playerid)
Returns a single player whose NFL GameCenter identifier equals
playerid
. This probably isn't too useful, unless you're trying
to do ID mapping. (Players have different identifiers across NFL.com.)
If no such player with the given identifier is found, None is returned.
def playerid(self, playerid):
"""
Returns a single player whose NFL GameCenter identifier equals
`playerid`. This probably isn't too useful, unless you're trying
to do ID mapping. (Players have different identifiers across NFL.com.)
If no such player with the given identifier is found, None is
returned.
"""
for p in self:
if p.playerid == playerid:
return p
return None
def punting(
self)
Returns players that have a "punting" statistical category.
def punting(self):
"""Returns players that have a "punting" statistical category."""
return self.__filter_category('punting')
def puntret(
self)
Returns players that have a "puntret" statistical category.
def puntret(self):
"""Returns players that have a "puntret" statistical category."""
return self.__filter_category('puntret')
def receiving(
self)
Returns players that have a "receiving" statistical category.
def receiving(self):
"""Returns players that have a "receiving" statistical category."""
return self.__filter_category('receiving')
def rushing(
self)
Returns players that have a "rushing" statistical category.
def rushing(self):
"""Returns players that have a "rushing" statistical category."""
return self.__filter_category('rushing')
def sort(
self, field, descending=True)
sorts the sequence according to the field specified---where field is a property on an item in the sequence. If descending is false, items will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a KeyError will be raised.
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))
def touchdowns(
self)
touchdowns is a convenience method for returning a Players sequence of all players with at least one touchdown.
def touchdowns(self):
"""
touchdowns is a convenience method for returning a Players
sequence of all players with at least one touchdown.
"""
def gen():
for p in self:
for f in p.__dict__:
if f.endswith('tds') and p.__dict__[f] > 0:
yield p
break
return self.__class__(gen())
class GenPlays
GenPlays implements a sequence type and provides a convenient API for searching plays.
class GenPlays (Gen):
"""
GenPlays implements a sequence type and provides a convenient API
for searching plays.
"""
def players(self):
"""
Returns the combined player stats for every play in the sequence.
"""
players = OrderedDict()
for play in self:
for player in play.players:
if player.playerid not in players:
players[player.playerid] = player
else:
players[player.playerid] += player
return GenPlayerStats(players)
Ancestors (in MRO)
Methods
def __init__(
self, iterable)
Creates a new Players sequence from an iterable where each element of the iterable is an instance of the Player class.
def __init__(self, iterable):
"""
Creates a new Players sequence from an iterable where each element
of the iterable is an instance of the Player class.
"""
self.__iter = iterable
def filter(
self, **kwargs)
filters the sequence based on a set of criteria. Parameter names should be equivalent to the properties accessible in the items of the sequence. For example, where the items are instances of the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that item is excluded from the result set.
If a field is set to a value, then only items with fields that equal that value are returned.
If a field is set to a function---which must be a predicate---then only items with field values satisfying that function will be returned.
Also, special suffixes that begin with '__' may be added to the end of a field name to invoke built in predicates. For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
def filter(self, **kwargs):
"""
filters the sequence based on a set of criteria. Parameter
names should be equivalent to the properties accessible in the items
of the sequence. For example, where the items are instances of
the Stats class::
players.filter(home=True, passing_tds=1, rushing_yds=lambda x: x>0)
Returns a sequence with only players on the home team that
have a single passing touchdown and more than zero rushing yards.
If a field specified does not exist for a particular item, that
item is excluded from the result set.
If a field is set to a value, then only items with fields that equal
that value are returned.
If a field is set to a function---which must be a predicate---then
only items with field values satisfying that function will
be returned.
Also, special suffixes that begin with '__' may be added to the
end of a field name to invoke built in predicates.
For example, this::
players.filter(receiving_rec=lambda v: v > 0)
Is equivalent to::
players.filter(receiving_rec__gt=0)
Other suffixes includes gt, le, lt, ne, ge, etc.
(Django users should feel right at home.)
"""
preds = []
for k, v in kwargs.iteritems():
def pred(field, value, item):
for suffix, p in _BUILTIN_PREDS.iteritems():
if field.endswith(suffix):
f = field[:field.index(suffix)]
if not hasattr(item, f) or getattr(item, f) is None:
return False
return p(getattr(item, f), value)
if not hasattr(item, field) or getattr(item, field) is None:
return False
if isinstance(value, type(lambda x: x)):
return value(getattr(item, field))
return getattr(item, field) == value
preds.append(functools.partial(pred, k, v))
gen = itertools.ifilter(lambda item: all([f(item) for f in preds]),
self)
return self.__class__(gen)
def limit(
self, n)
Limit the sequence to N items.
def limit(self, n):
"""
Limit the sequence to N items.
"""
return self.__class__(itertools.islice(self, n))
def players(
self)
Returns the combined player stats for every play in the sequence.
def players(self):
"""
Returns the combined player stats for every play in the sequence.
"""
players = OrderedDict()
for play in self:
for player in play.players:
if player.playerid not in players:
players[player.playerid] = player
else:
players[player.playerid] += player
return GenPlayerStats(players)
def sort(
self, field, descending=True)
sorts the sequence according to the field specified---where field is a property on an item in the sequence. If descending is false, items will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a KeyError will be raised.
def sort(self, field, descending=True):
"""
sorts the sequence according to the field specified---where field is
a property on an item in the sequence. If descending is false, items
will be sorted in order from least to greatest.
Note that if field does not exist in any item being sorted, a
KeyError will be raised.
"""
def attrget(item):
return getattr(item, field, 0)
return self.__class__(sorted(self, reverse=descending, key=attrget))


--- title: CHECKLIST permalink: "/checklist" layout: checklist --- {% include navbar.html %} {% include pageHeader.html %} Description Acquire ICP License 2 Jacob 3 Larry


|
SUKKUR IBA UNIVERSITY Merit-Quality-Excellence DEPARTMENT OF ELECTRICAL ENGINEERING |
Frame Design for Quadcopter |
Overview: |
Frame design is another compelling part of this project. As a lightweight and compact frame is essential to make a drone fly, so it was our priority to make frame as much as lighter as we can, by keeping safety concerns in mind. After spending some couple of days we finalized a design and one of our friends started to work on it. But due covid-19 pandemic and chances of early closer of university, our instructor apprise us to focus on flight controller design and components interface. So, we provided our design and dimensions, according to our requirement, to sir Azmat for Soldiworks design. We remained in contact with sir during the design process and thanks to him for giving us explanation about every step. Now here we present the frame design procedure, failure in 3D printing, and final product. Click Here to download SolidWorks design. |
Dimensions Of The Quadcopter: |
Below mentioned figure represents the dimension of our designed quadcopter. Here we have tried our best to reduce maximum material from the case so that it can be lighter. Also we have designed propeller guards for safety concerns of propellers. |
|
|
Solid Work Design: |
So here is the quadcopter frame after done with the design procedure in Solidworks. |
First 3D Frame: |
In the firs attempt we tried to use nylon to print the frame as it is a lightweight material. Everything was going well for the first two hours but then frame started to get distorted and the result were not that inspiring. Here is the output: |
|
|
Second Attempt For 3D Frame: |
After not getting any success with nylon, next option was to change the material. We then printed the frame with PLA. PLA is ideal for 3D prints where aesthetics are important. Due to its lower printing temperature is easier to print with and therefore better suited for parts with fine details. But in our case due to complexity of design, it did not work. Here is the result: |
|
|
|
Successful Printing process: |
3D printing process takes a lot of time. In our case it took almost 8 hours just to complete a single design. Here is a video shows the complete process of 3D printing of our frame. |
Successful Printed Frame: |
After two attempts, one with nylon and another with PLA material, next we decided to print the frame using ABS. ABS has superior mechanical properties but is harder to print as compared to PLA. It also makes the design too heavy, but we had no other option, so we printed our frame using PLA material. Finally this material worked. Here is the final result: |
|
|
Final Product: |
Here is the final frame of our quadcopter design. |
|
|
| Prev | Next |


Disney helps lift Dow, S&P to records; Nasdaq dips
Wall Street's main indexes turned slightly higher on Wednesday as Federal Reserve Chair Jerome Powell said the central bank saw a "sustained expansion" ahead for the U.S. economy.
NEW YORK: The Dow Jones Industrial Average and the S&P 500 hit record highs on Wednesday helped by a big jump in Walt Disney shares, but the Nasdaq fell and gains were kept in check by fresh uncertainty over U.S.-China trade relations.
The Dow Jones Industrial Average rose 92.1 points, or 0.33per cent, to 27,783.59, the S&P 500 gained 2.13 points, or 0.07per cent, to 3,093.97 and the Nasdaq Composite dropped 3.99 points, or 0.05per cent, to 8,482.10.
(Reporting by Chuck Mikolajczak; Editing by Sandra Maler)


AlmondJS is a small part of RequireJS, which has no provision to download dependencies on demand. Hence it only supports bundled module
This page uses the files bundled via Webpack. Webpack is easy and works quite well with node_modules (auto-resolution).
// the __dirname issue might be resolved by giving proper base URL
module.exports = {
entry: './public/app/main-almond.js',
output: {
// weird issue, without __dirname doesn't work
path: __dirname + "/dist/webpack",
filename: 'build.js',
},
resolve: {
alias: {
// weird issue, without __dirname doesn't work
"Block": __dirname + "/public/app/amd/Block.js",
// Notice, no resolution for jquery required, cause
// by default it searches an unspecified module in "/node_modules/mod-name/index.js"
}
},
module: {
// rules are only necessary if you want to skip the
// the "loader-name!" part in require().
rules: [
{
// you can always use "css!file/path.css" inside require() and skip this
test: /\.css$/,
use: [
'style-loader', // have to be npm install style-loader
'css-loader' // have to be npm install css-loader
]
},
{
// this is required because bootstrap.js internally uses fonts
test: /\.(woff|woff2|eot|ttf|otf|svg)$/,
use: [
'file-loader' // have to be npm install file-loader
]
}
// notice we did not give any rule for "html-loader"
// cause we are explicity calling it using "!" syntax when required
],
},
// the following is required because we didn't want to disturb
// the curl.js loader name "text". Otherwise not needed
resolveLoader: {
alias: {
// provides an alias name for the loader
'text': 'html-loader', // have to be npm install html-loader
},
},
};
Toggle Menu


| DOSE: T+ 0:00 |
1 hit |
oral |
DOC |
(blotter / tab) |
| T+ 2:00 |
1 hit |
oral |
MDMA |
|
As medical support at the recent Transformus regional burn in North Carolina, I was called to see a young woman who reportedly was having a bad reaction to MDMA.
The previous night at 8pm, she and her campmates had taken a tab of blotter containing a long-acting LSD variant called 'DOC'. I hadn't heard of this drug, actually, the only long-acting LSD variants available on blotter that I knew of were DOB and bromo-dragonfly, so I assumed that what they had actually taken was DOB, but now that I've checked I see that this could very well have been DOC.
Nothing happened--the dose was subthreshold--so two hours later, she and her boyfriend took a moderate dose of MDMA. Once it took effect, the woman began to throw up, and this continued throughout the night. As dawn broke, she began to experience numbness and tingling in her feet, hands, and lips, alarmed, they called the rangers and I saw her at 8am.
The woman was nauseous--threw up once in front of me--but otherwise alert and healthy. Her blood pressure and pulse were normal, but she was hyperventilating from anxiety. With reassurance that she would be okay, her respiratory rate returned to normal and her numbness and tingling went away. By noon, she still felt nauseous but was looking and feeling a lot better, so she and her boyfriend went back to their camp.
No other drugs other than nicotine had been consumed. The woman had one previous experience with MDMA, and it had been wonderful with no nausea. However, her boyfriend had consumed the same combination of drugs that night and experienced no nausea and vomiting. The woman reported that no particular difficult issues had surfaced during the trip and that she and her boyfriend enjoyed a supportive relationship (and their body language supported this).
One possibility is that this was simply an idiosyncratic reaction to MDMA--nausea is a common side effect--brought on by the difficult social and physical environment of the burn.
However, the fact that the nausea persisted 12 hours post-ingestion is peculiar. An alternate possibility is an interaction between DOC and MDMA--drugs with subthreshold effects sometimes can be pushed supra-threshold by coadministration with another drug--and the fact that her boyfriend was unaffected may simply be a result of his substantially higher body weight.
I have not heard any other reports of an interaction between DOC and MDMA, but it might bear watching if DOC is now more available.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


New on Netflix – December 2019
by Tracy BensonThe good news is, The Witcher is coming to Netflix this month! The bad news is, it only starts on the 20th of December. But wait, more good news! There’s a TON of new Netflix content to keep you entertained until then.
1 December 2019
Dead Kids – Netflix Original Film
A socially awkward teen bonds with a group of misfits who plot to take out the school’s arrogant rich kid — until their kidnapping scheme turns deadly.
2 December 2019
The Lies Within – Netflix Original Series
After her father dies and her husband goes missing, Kim Seo-hui teams up with detective Jo Tae-sik and joins the National Assembly.
Team Kaylie: Part 2 – Netflix Kids And Family
Ready for more glitz, glam and grit? Kaylie and the Porcupines sharpen their skills for a new slate of action-packed shenanigans.
3 December 2019
Especial de Natal Porta dos Fundos: A Primeira Tentação de Cristo – Netflix Original Film
Jesus, who’s hitting the big 3-0, brings a surprise guest to meet the family. A Christmas special so wrong, it must be from comedians Porta dos Fundos.
Tiffany Haddish: Black Mitzvah – Netflix Original Comedy Special
On her 40th birthday, Tiffany Haddish drops a bombastic special studded with singing, dancing and raunchy reflections on her long road to womanhood.
4 December 2019
Los Briceño – Netflix Original Series
After an argument with her dad, a young woman from a family of macho truck drivers is kicked out of the home and must make her own success as a trucker.
Magic for Humans: Season 2 – Netflix Original Series
Hilarious and heartfelt, Justin Willman pulls out all the stops and props to amaze real people with playful tricks and showstopping magic routines.
Let’s Dance – Netflix Original Film
After his crew breaks up, a gifted but insecure hip-hop dancer teaches at a top ballet school in Paris, where he falls for an aspiring ballerina.
5 December 2019
Apache: La vida de Carlos Tevez – Netflix Original Series
This gritty dramatization of the life of Carlos Tevez shows his rise to soccer stardom amid the harrowing conditions in Argentina’s Fuerte Apache.
V-Wars – Netflix Original Series
A doctor is pitted against his best friend after an ancient disease turns people into vampires. From the comics by Jonathan Maberry and Alan Robinson.
Home for Christmas – Netflix Original Series
Fed up with the constant comments on her relationship status, perpetually single Johanne starts a 24-day hunt for a partner to bring home for Christmas.
A Christmas Prince: The Royal Baby – Netflix Original Film
Christmas brings the ultimate gift to Aldovia: a royal baby. But first, Queen Amber must help her family and kingdom by finding a missing peace treaty.
6 December 2019
The Chosen One: Season 2 – Netflix Original Series
The world pours into the once-closed Aguazul as the doctors circle back to the village, and a journalist promises to tell the Chosen One’s story.
Glow Up – Netflix Original Series
Aspiring makeup artists apply themselves to celebrity looks, movie prosthetics and more in a colorful competition show hosted by Stacey Dooley.
Triad Princess – Netflix Original Series
After growing up in the shadow of her mafia-affiliated father, Angie defies his wishes and takes a gig as an undercover bodyguard for a famous actress.
Three Days of Christmas – Netflix Original Series
Four sisters deal with family drama and secrets throughout three different time periods, all occurring on Christmas Day.
Virgin River – Netflix Original Series
Searching for a fresh start, a nurse practitioner moves from LA to a remote northern California town and is surprised by what — and who — she finds.
Fuller House: Season 5 – Netflix Original Series
Jimmy and Steph bring their new baby home and dive headfirst into the world of parenting. But no worries: They’ve got a houseful of hands to help.
Marriage Story – Netflix Original Film
Academy Award-nominated filmmaker Noah Baumbach directs this incisive and compassionate look at a marriage coming apart and a family staying together.
Astronomy Club: The Sketch Show – Netflix Original Comedy Special
This sketch comedy show features the Astronomy Club, the first all-black house team at the Upright Citizens Brigade Theatre. Produced by Kenya Barris.
The Confession Killer – Netflix Original Documentary
On trial for murder, drifter Henry Lee Lucas confesses to hundreds more killings. This docuseries examines the truth behind his admissions.
Spirit Riding Free: The Spirit of Christmas – Netflix Kids And Family
Lucky and friends must figure out how to get home in time for Christmas when a falling boulder — and a serious snowstorm — derail their travel plans.
Teasing Master Takagi-san: Season 2 – Netflix Original Anime
Now in his second year of middle school, Nishikata still tries to outplay Takagi, but continues to fail miserably at his quest to get even.
9 December 2019
Amit Tandon: Family Tandoncies – Netflix Original Comedy Special
From the death of romance in marriage to the injustices of modern-day parenting, Amit Tandon shares wisdom and wisecracks as a battle-scarred family guy.
A Family Reunion Christmas – Netflix Kids And Family
M’Dear and her sisters struggle to keep their singing act together before a church Christmas pageant while Grandpa teaches the kids a valuable lesson.
10 December 2019
TERRACE HOUSE: TOKYO 2019-2020: Part 3 – Netflix Original Series
As the world turns its eyes to Tokyo for the 2020 Olympics, six strangers continue to share one unbelievable house — and to look for love.
Michelle Wolf: Joke Show – Netflix Original Comedy Special
Michelle Wolf performs a new stand-up comedy special for 2019 shot in New York City.
12 December 2019
Jack Whitehall: Christmas with my Father – Netflix Original Comedy Special
Jack Whitehall attempts to get his notoriously stodgy father into the holiday spirit in this comedy-variety Christmas extravaganza.
13 December 2019
6 Underground – Netflix Original Film
“What’s the best part of being dead?
It isn’t escaping your boss, your ex, or even erasing your criminal record.
The best part about being dead…is the freedom.
The freedom to fight the injustice and evil that lurk in our world without anyone or anything to slow you down or tell you “no.”
6 Underground introduces a new kind of action hero. Six individuals from all around the globe, each the very best at what they do, have been chosen not only for their skill, but for a unique desire to delete their pasts to change the future. The team is brought together by an enigmatic leader (Ryan Reynolds), whose sole mission in life is to ensure that, while he and his fellow operatives will never be remembered, their actions damn sure will.
17 December 2019
Chief of Staff: Season 2 – Netflix Original Series
Newly elected Tae-jun moves through the familiar grounds of the National Assembly with bold intent — and the will to do whatever it takes.
Ronny Chieng: Asian Comedian Destroys America! – Netflix Original Comedy Special
Ronny Chieng (“The Daily Show,” “Crazy Rich Asians”) takes the stage for an original stand-up comedy special.
18 December 2019
Soundtrack – Netflix Original Series
This romantic musical drama follows the love stories connecting an eclectic group of people in modern-day Los Angeles.
Don’t F**k With Cats: Hunting an Internet Killer – Netflix Original Documentary
Cyber sleuths engage in a dangerous game of cat and mouse with a man who posts sadistic animal-abuse videos online — and then turns to murder.
19 December 2019
Ultraviolet: Season 2 – Netflix Original Series
Ola and her team of amateur sleuths continue to solve crimes — including one that hits close to home — as a new detective joins the force.
Twice Upon a Time – Netflix Original Series
Still reeling from a breakup, Vincent Dauda receives a package with mysterious properties that could give him a chance to win back his ex, Louise.
After The Raid – Netflix Original Documentary
A large immigration raid in a small Tennessee town leaves emotional fallout as well as far-reaching questions about justice, faith and humanity.
20 December 2019
The Witcher – Netflix Original Series
The witcher Geralt, a mutated monster hunter, struggles to find his place in a world where people often prove more wicked than beasts.
The Two Popes – Netflix Original Film
From Fernando Meirelles, the Academy Award-nominated director of “City of God,” and three-time Academy Award-nominated screenwriter Anthony McCarten, comes an intimate story of one of the most dramatic transitions of power in the last 2,000 years. Frustrated with the direction of the church, Cardinal Bergoglio (Jonathan Pryce) requests permission to retire in 2012 from Pope Benedict (Anthony Hopkins). Instead, facing scandal and self-doubt, the introspective Pope Benedict summons his harshest critic and future successor to Rome to reveal a secret that would shake the foundations of the Catholic Church. Behind Vatican walls, a struggle commences between both tradition and progress, guilt and forgiveness, as these two very different men confront their pasts in order to find common ground and forge a future for a billion followers around the world. Inspired by true events.
24 December 2019
Lost in Space: Season 2 – Netflix Original Series
The Robinson family returns for Season 2 and continues its fight against all odds to survive and escape while lost in space.
Como caído del cielo – Netflix Original Film
Legendary Mexican actor-singer Pedro Infante is sent back to Earth in an impersonator’s body to mend his womanizing ways and earn entrance into heaven.
John Mulaney & The Sack Lunch Bunch – Netflix Original Comedy Special
In this variety comedy special from John Mulaney, he hilariously tackles grown-up topics with his kid pals, the Sack Lunch Bunch. Fun for everyone!
CAROLE & TUESDAY: Part 2 – Netflix Original Anime
Carole and Tuesday’s newfound attention brings with it new challenges. Angela considers them rivals, and the Mars music business isn’t easy.
26 December 2019
Le Bazar de la Charité – Netflix Original Series
Amid a devastating fire in 1897 Paris, three women see their destinies turned upside down by identity theft, forbidden love, betrayal and emancipation.
You: Season 2 – Netflix Original Series
The dark drama returns for its second season, with Joe now laying low and hiding from his ex in LA. Can he deal with his past and make a fresh start, this time with the right woman?
The App – Netflix Original Film
Fast & Furious Spy Racers – Netflix Kids And Family
Adventures abound as a group of teenagers infiltrates an elite racing league controlled by a nefarious organization bent on world domination.
27 December 2019
The Gift – Netflix Original Series
In an Anatolian ruin, an archaeologist finds a mysterious link to a young painter (Beren Saat), who embarks on a quest to uncover secrets in her past.
Kevin Hart: Don’t F**k This Up – Netflix Original Documentary
This docu-series follows comedian Kevin Hart during his “Irresponsible” tour.
28 December 2019
“Hot Gimmick: Girl Meets Boy ” – Netflix Original Film
After Hatsumi’s single-minded neighbor blackmails her into being his servant, they learn the real meaning of love and trust. Based on the hit manga.
30 December 2019
Alexa & Katie: Season 3 – Netflix Kids And Family
Alexa tries to put cancer behind her, but a new person in her life might make that especially hard, while Katie will need all the support she can get from her best friend. The teen series returns for Season 3.
The Disastrous Life of Saiki K.: Reawakened – Netflix Original Anime
Kusuo and his gaggle of self-proclaimed friends are back for more psychic mishaps. If he didn’t have enough problems before, he’s got even more now.
31 December 2019
The Neighbor – Netflix Original Series
Javier, a 20-something struggling with adulthood and his girlfriend, unexpectedly becomes a superhero. Based on Santiago García and Pepo Pérez’s comic.
Yanxi Palace: Princess Adventures – Netflix Original Series
Determined to win the heart of a Mongolian prince, a Qing dynasty princess contends with palace intrigue and vendettas against her family.
The Degenerates: Season 2 – Netflix Original Comedy Special
This stand-up series featuring comics who explore the coarse and salacious side of comedy, returns for a second season.


+373 69-449-449
Email<EMAIL_ADDRESS>Chișinău, str. Columna 170
© 2019 Digital Park. All Rights Reserved