@* * Copyright 2018 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.urls.Link @import uk.gov.hmrc.apidocumentation.config._ @import uk.gov.hmrc.apidocumentation.controllers @import uk.gov.hmrc.apidocumentation.models._ @import include._ @(pageAttributes: PageAttributes)(implicit request: play.api.mvc.Request[Any], applicationConfig: ApplicationConfig, messages: Messages) @apiMain(pageAttributes){
The base URL for sandbox APIs is:
https://test-api.service.hmrc.gov.uk/
The base URL for production APIs is:
https://api.service.hmrc.gov.uk/
You might need to configure your network so your software can access our API Platform and the authorisation journey for user-restricted endpoints. If your software is installed on end user devices, they might also need to configure their own network.
We have fixed domain names, but cannot provide static IP addresses, so you need to configure your network access in your proxy, not your firewall.
Configure your proxy to allow full access to the following domains, including HTTP GET, POST, PUT and DELETE.
For testing in sandbox:
test-api.service.hmrc.gov.uk test-www.tax.service.gov.uk
For production use:
api.service.hmrc.gov.uk www.tax.service.gov.uk
Our APIs use consistent formats for common data types. We use ISO standards including:
Some examples of common data types include:
| Type | Example | Description |
|---|---|---|
| date | "2015-09-08" | Dates will be represented in the format YYYY-MM-DD. |
| timestamp | "2015-09-08T01:55:28+00:00" | Timestamps will be represented in the format YYYY-MM-DDThh:mm:ss±hh:mm. |
| money | 123.45 | Unless expressly documented, money will be represented with two decimal places and GBP currency. |
| NINO | "QQ123456A" | A National Insurance number is made up of 2 letters, 6 numbers and a letter (A, B, C, or D). |
Our API Platform uses HTTP redirection if resources move permanently or temporarily.
Redirection responses have a Location header with the resource's new URI.
Error responses from APIs (but not the OAuth 2.0 authorisation procedure) have a 4xx or 5xx HTTP status code and a consistently formed JSON or XML body, including:
| Name | Type | Description |
|---|---|---|
| code | string | A machine-readable error code. This is unique for each error scenario. |
| message | string | A human-readable explanation for the error. |
There might be other error-specific information (such as a list of fields that are in error). For example:
{ "code" : "ACCOUNT_SUSPENDEDSA-100201", "message" : "Account is temporarily suspended", "reactivationTimestamp" :<PHONE_NUMBER>718 }
Multiple errors can also be returned in a single field called errors. For example:
{ "code": "BAD_REQUEST", "message": "Bad request", "errors": [ { "code": "MISSING_FIELD", "message": "This field is required", "path": "/firstName" }, { "code": "INVALID_DATE", "message": "Date is invalid", "path": "/dateOfBirth" } ] }
Here is an example error response in XML format
<error> ACCOUNT_SUSPENDEDSA-100201 <message>Account is temporarily suspended</message> <reactivationTimestamp>1431448640718</reactivationTimestamp> </error>
These error responses are common across all APIs:
| Scenario | Code |
|---|---|
| No OAuth token supplied for user-restricted or application-restricted resource | MISSING_CREDENTIALS |
| Invalid OAuth token supplied for user-restricted or application-restricted resource (including expired token) | INVALID_CREDENTIALS |
| Supplied OAuth token not authorised to access data for given tax identifier(s) | UNAUTHORIZED |
| User-restricted API is being accessed with a server token | INCORRECT_ACCESS_TOKEN_TYPE |
| Scenario | Code |
|---|---|
| Request done with HTTP | HTTPS_REQUIRED |
| Production tokens used for Beta API | API_NOT_IN_PRODUCTION |
| The OAuth token's application is not subscribed to the API | RESOURCE_FORBIDDEN |
| The scope of the OAuth token is not sufficient to access the API | INVALID_SCOPE |
| Scenario | Code |
|---|---|
| No endpoint could be found in the API for the request path | MATCHING_RESOURCE_NOT_FOUND |
| No API could be found for the context | NOT_FOUND |
| Scenario | Code |
|---|---|
| Request method is not GET, PUT, POST, DELETE or OPTIONS | METHOD_NOT_ALLOWED |
| Scenario | Code |
|---|---|
| Missing or invalid Accept header | ACCEPT_HEADER_INVALID |
| Scenario | Code |
|---|---|
| The application has reached its maximum rate limit | MESSAGE_THROTTLED_OUT |
| Scenario | Code |
|---|---|
| Internal server error | INTERNAL_SERVER_ERROR |
| Scenario | Code |
|---|---|
| API not implemented/deployed | NOT_IMPLEMENTED |
| Scenario | Code |
|---|---|
| Service unavailable | SERVER_ERROR |
| Scheduled maintenance | SCHEDULED_MAINTENANCE |
| Scenario | Code |
|---|---|
| Request timed out | GATEWAY_TIMEOUT |
You can find API-specific error responses in the API documentation.
Note that the OAuth 2.0 process conforms with the error format specified in the OAuth 2.0 RFC. See authorisation for more information on the process.
We limit the number of requests each application can make. This protects our service against excessive use and Denial-of-Service attacks, and also encourages you to use our APIs efficiently.
We set limits based on anticipated loads and peaks. Our standard limit is 150 requests per minute per application.
If you reach this limit you’ll get a 429 Too Many Requests
response code.
If you continually hit this rate limit, contact us to discuss your application design and whether it’s appropriate to raise your rate limit.
When your application needs to access resources on behalf of a user, the Developer Hub uses the OAuth 2.0 framework to grant and manage such an authority.
This authority is granted in terms of OAuth 2.0 ‘scopes’. Each 'scope' relates to one or more endpoints.
When your application requests an OAuth 2.0 Bearer
token, it must specify the scope(s) which the token should be granted for.
These are translated to human-readable descriptions that are shown to the user before they grant authority. This makes sure the user understands and gives access to your application.
The scope for each user-restricted endpoint is defined in the API documentation.
For details about OAuth 2.0 and scopes, see authorisation.
When an API changes in a way that's backwards-incompatible, the version of the API will be bumped.
You can request a specific version of an API by using an Accept
header with a media type of:
application/vnd.hmrc.[version]+[content-type]
For example:
application/vnd.hmrc.1.0+json
Media types are specific to each resource, which lets them change separately from one another.
To prevent fraud, HMRC records certain types of audit data. Our APIs provide consistent headers that you can use to pass additional audit data to us.
These headers can influence the processing of the API call, or support prosecutions for tax or duty fraud.
Supplying header information for all our APIs will become compulsory - so we recommend designing it into your applications now.
To find out when supplying the data becomes compulsory for each API, read its API documentation.
Header contents must use the character set USASCII, with other characters URL encoded as in RFC3986 (opens in a new tab). Other restrictions on header values are shown in the header definitions table.
The client connection method determines which headers are required. These methods are:
In the header definitions table:
Gov-Vendor-*
names identify the third-party software application so we can detect anomalies related to the intermediary.
Gov-Client-*
names identify the physical machine that the user is sitting at so we can attribute the API call to a person.
Gov-Client-Browser-*
names are only relevant to applications where the client is a web browser.
| Name | Description |
|---|---|
| Gov-Client-Public-IP |
The public IP address of the originating client machine. For example, |
| Gov-Client-Public-Port |
The port component of the Gov-Client-Public-IP. For example, |
| Gov-Client-Device-ID |
A consistent ID representing the originating client machine. This depends on the context. For an installed application of batch processes, this is the MAC address of the device’s network adapter. For a web browser, this is a unique value stored in a long term cookie. For example, |
| Gov-Client-User-ID |
The username that the customer used to sign in to the client machine, or the software vendor’s software or website.
For example,
|
| Gov-Client-Timezone |
Timezone of the clock on the client machine. For example, |
| Gov-Client-Local-IP |
Internal private IP address used by the client machine. For example, |
| Gov-Client-Screen-Resolution |
Screen resolution of the client machine in pixels. For example, |
| Gov-Client-Window-Size |
Size of the application or browser window on the client machine in pixels. For example, |
| Gov-Client-Colour-Depth |
Colour depth of the client machine in bits per pixel. For example, |
| Gov-Client-User-Agent |
If the client machine is using a web browser (E), this is the User-Agent reported by the browser. If the client machine is running an installed application then this should be: "<OS Family>/<OS Version> (<Manufacturer> <Model>)" (A to D & F).
For example,
|
| Gov-Client-Browser-Plugins |
List of installed browser plugins (E only). For example,
|
| Gov-Client-Browser-JS-User-Agent |
User Agent value as reported by Javascript (E only). For example, Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405 |
| Gov-Client-Browser-Do-Not-Track |
Whether the browser has set the Do Not Track flag or not, if the client machine is using a web browser (E only).
For example,
|
| Gov-Client-Multi-Factor |
Details about the multi-factor authorisation that the vendor requires their user to pass before using their application. This should be constructed as "<type>;<UTC timestamp>;<unique reference (hashed or not)>". <type> is a short, human readable tag describing the method of two factor authorization, for example SMS, MOBILEAPP, or GOOGLEAUTH. <UTC timestamp> records the time of the last successful second factor prompt. <unique reference> identifies a single second factor, for example, a salted hash (securer version) of a phone number used for SMS or an identifier linked to a TOTP secret (not the secret itself). The intention is to recognise the same second factor being used across API calls.
For example,
|
| Gov-Vendor-Version |
The vendor’s software version. Where there are multiple versions, these should be appended as a comma delimited list as new values are seen in the request. For example, in case C and D there will be an installed application (with a version), and a backend server (also with a version).
For example,
|
| Gov-Vendor-Instance-ID |
An identifier unique to a specific installation of the vendor’s software, either on a client
device or on a backend Application Server. Where there are multiple instance IDs, these should be appended as a comma delimited list as new values are seen in the request.
For example,
|
| Gov-Vendor-Public-IP |
The public IP address that the customer’s machine used to send requests to the software vendor.
This will be the same as the Gov-Client-Local-IP for direct options A, B and F. This may be an IP address of a Web Application Firewall, or a DDOS Protection Service, or a load balancer that the vendor’s DNS record resolves to. For example, |
| Forwarded |
The Forwarded header is created and appended to by any intermediary server that handles the request in an unencrypted form. This should be a small list as most communications will be via HTTPS. This field is only valid for indirect options C, D and E.
If no value is defined, and the request came from the Gov-Client-Local-IP,
then add :
If no value is defined, and the request came from some other IP address (not the
Gov-Client-Local-IP), then add :
If the value is defined, then append the following to the existing value : For more details on this header field, see IETF RFC7239 (opens in a new tab). For example, |
We use redirect URIs to send the user back to your application after successful (or unsuccessful) authorisation, prior to your application accessing user-restricted endpoints.
You must specify one or more redirect URIs when you create your application, and also specify one redirect URI when you send your user to our authorisation endpoint. To protect your application from phishing attacks, the redirect URI used for authorisation must match one of those specified when you created your application.
Examples of valid (and invalid) redirect URIs are:
| Redirect URI | Comments |
|---|---|
| https://www.example.com/auth-redirect | Valid - when creating your application, you can use the full redirect URI or a partial URI, for example:
https://www.example.com/auth-redirect https://www.example.com When calling our authorisation endpoint, your redirect URI must be percent-encoded, for example: https%3A%2F%2Fwww.example.com%2Fauth- redirect |
| https://www.example.com:8080/auth-redirect | Valid - includes a port number |
| http://www.example.com:8080/auth-redirect | Invalid - uses HTTP, not HTTPS (HTTP is OK for installed applications - see example below) |
| /auth-redirect | Invalid - is a relative URI, not an absolute URI |
| https://<IP_ADDRESS>/auth-redirect | Invalid - uses an IP address, not a DNS name |
| https://www.example.com:8080/auth-redirect?some_parameter=some_value | Valid - includes a query component |
| https://www.example.com:8080/auth-redirect#some_fragment | Invalid - includes a fragment component |
| http://localhost:8080 | Valid - as explained in OAuth 2.0 for installed applications |
| urn:ietf:wg:oauth:2.0:oob | Valid - as explained in OAuth 2.0 for installed applications |
| urn:ietf:wg:oauth:2.0:oob:auto | Valid - as explained in OAuth 2.0 for installed applications |
The OAuth 2.0 authorisation journey is designed to work with most modern browsers as per the list specified on Designing for different browsers and devices, including mobile devices and tablets.
If you are using the Microsoft Web Browser Control embedded browser for the authorisation journey, be aware that by default this will operate in IE7 compatibility mode which we do not formally support. For details of one way to handle this, see Controlling WebBrowser Control Compatibility (opens in a new tab).


Kollam- Our Package
Jatayu Earth's centre Park
Ashtamudi Lake
Shastamkotta Lake
Thenmala
Contact Us at keralatourism@gmail.com


IntegerGreaterTest.testComparableGreaterFailMessage: Integer 'valueA'(125) is greater than Integer 'valueB'(124). Extra info goes here. IntegerGreaterTest.testComparableGreaterFailNoMessage: Integer 'valueA'(125) is greater than Integer 'valueB'(124).


Replicate JavaBean's with ease.
is a simple matter of:public class SimpleBean { private String name; public SimpleBean() {} public SimpleBean(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } } ... SimpleBean from = new SimpleBean("foo");
Notes a no-arg constructor is required.SimpleBean to = new BeanReplicator().replicateBean(from);
But is that going to work for a more complex JavaBean ? Let's try:
First, set up the beanpublic class ComplexBean { private String name; private ComplexBean[] array; private Collection<ComplexBean> collection; private Map<String,ComplexBean> map; public ComplexBean() {} public ComplexBean(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Collection<ComplexBean> getCollection() { return collection; } public void setCollection(Collection<ComplexBean> collection) { this.collection = collection; } public ComplexBean[] getArray() { return array; } public void setArray(ComplexBean[] array) { this.array = array; } public Map<String, ComplexBean> getMap() { return map; } public void setMap(Map<String, ComplexBean> map) { this.map = map; } }
It can be replicated in the same way:ComplexBean from = new ComplexBean("foo"); ComplexBean[] a = { from }; Collection<ComplexBean> col = Arrays.asList(a); from.setArray(a); from.setCollection(col); Map<String,ComplexBean> map = new HashMap<String,ComplexBean>(); map.put(from.getName(), from); from.setMap(map);
Voila! The "to" and "from" beans are different object instances, but the content (ie the entire object graph) has been replicated. Note this works as long as these objects follow the JavaBean convention. See BeanReplicatorTest.java for more details.ComplexBean to = new BeanReplicator().replicateBean(from);
Now setter methods on the toBean will be invoked with values retrieved from invoking the respective public getter methods of the fromBean.BeanTransformerSpi t = new BeanTransformer().initSetterMethodCollector(new PrivateSetterMethodCollector()); Object fromBean = ... Object toBean = new BeanReplicator(t).replicateBean(fromBean);
A similar example of expanding the default behavior of retrieving property values from the public getter methods:
Now values will be retrieved from invoking all getter methods (including protected and private) on the fromBean.BeanTransformerSpi t = new BeanTransformer().initReaderMethodFinder(new PrivateReaderMethodFinder()); Object fromBean = ... Object toBean = new BeanReplicator(t).replicateBean(fromBean);
For example, if for some reason any property that is named "foo" should be filtered out (ie not propagated), it can be achieved like so:
PropertyFilter propertyFilter = new PropertyFilter() { public boolean propagate(String propertyName, Method readerMethod) { return !"foo".equals(propertyName); } }; BeanTransformerSpi t = new BeanTransformer().initPropertyFilter(propertyFilter); Object fromBean = ... Object toBean = new BeanReplicator(customTransformer).replicateBean(fromBean);
For a convoluted example, if for some reason any property that is named "foo" should be filtered out (ie not propagated) unless the "foo" property belongs to a class named "Bar", it can be achieved like so:
DetailedPropertyFilter detailedPopertyFilter = new DetailedPropertyFilter() { public boolean propagate(String propertyName, Object fromBean, Method readerMethod, Object toBean, Method setterMethod) { return !"foo".equals(propertyName) || Bar.class == fromBean.getClass(); } }; BeanTransformerSpi t = new BeanTransformer().initDetailedPropertyFilter(detailedPropertyFilter); Object fromBean = ... Object toBean = new BeanReplicator(t).replicateBean(fromBean);
For example, the default transformer used by BeanReplicator tries to instantiate the target property class via the no-arg constructor. If the no-arg constructor is not defined (such as in the Point class below), it would cause a NoSuchMethodException to be thrown:
To get around this problem, use a custom transformer and the respective factory for the Point class:public class Point { private final int x, y; // missing no-arg constructor public Point(int x, int y) { this.x = x; this.y = y; } public int getX() { return x; } public int getY() { return y; } } public class Bean { private Point point; public Point getPoint() { return point; } public void setPoint(Point point) { this.point = point; } } ... // Initialize a bean Bean from = new Bean(); from.setPoint(new Point(1,2)); // Tries to replicate the bean using the default implementation BeanReplicator replicator = new BeanReplicator(); // Will cause NoSuchMethodException, as Point does not have a no-arg constructor Bean to = replicator.replicateBean(from);
public class MyBeanTransformer implements CustomBeanTransformerSpi { public boolean isTransformable(Object from, Class<?> toClass, PropertyInfo propertyInfo) { return toClass == Point.class; } public <T> T transform(Object in, Class<T> toClass, PropertyInfo propertyInfo) { Point from = (Point)in; // Note the framework takes care of the issue of object identity, // so we don't need to here. return (T)new Point(from.getX(), from.getY()); } } public class MyBeanTransformerFactory implements CustomBeanTransformerSpi.Factory { public CustomBeanTransformerSpi newCustomBeanTransformer(BeanTransformerSpi beanTransformer) { return new MyBeanTransformer(); } } ... // Initialize a bean Bean from = new Bean(); from.setPoint(new Point(1,2)); // Partially overrides the default transformer behavior BeanTransformerSpi transformer = new BeanTransformer(new MyBeanTransformerFactory()); BeanReplicator replicator = new BeanReplicator(transformer); // Replicates the bean Bean to = replicator.replicateBean(from); // now works!
If you have multiple custom transformers, just pass their factories to the BeanReplicator constructor and they will be automatically chained together for execution. Like so:
For more details, please see javadoc.BeanReplicator replicator = new BeanReplicator(myTransformer1, myTransformer2, ...);


Apache Kafka
High-throughput messaging system as a distributed commit log
Decoupled data pipeline
How is Kafka different?
- Explicitly distributed
- Partitioned
- Replicated
- Dumb pipelines
Kafka dictionary
- Broker - Kafka Server
- Producer
- Consumer
- Topics - Multiple partitions - Partitions replicated
- Broker leader - Broker followers - ISR
Brokers
Replicated
Partition leader
Partitioned
Overview
Topic and Partitions
Topic and Partitions
Overview
Where to use?
- Real time event/log aggregations
- Speed layer in the Lambda architecture
- Real time news feeds/metrics/alerts/monitoring
- Data loading for data processing systems
- Event sourcing
- Commit logs
yes/no
Eco system


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Serves 6-8
Once you’ve got this grown-up spag bol going the hob will do the rest. Any leftovers will taste even better the next day.
Heat the oil in a large, heavy-based saucepan and fry the bacon until golden over a medium heat. Add the onions and garlic, frying until softened. Increase the heat and add the minced beef. Fry it until it has browned, breaking down any chunks of meat with a wooden spoon. Pour in the wine and boil until it has reduced in volume by about a third. Reduce the temperature and stir in the tomatoes, drained mushrooms, bay leaves, oregano, thyme and balsamic vinegar.
Either blitz the sun-dried tomatoes in a small blender with a little of the oil to loosen, or just finely chop before adding to the pan. Season well with salt and pepper. Cover with a lid and simmer the Bolognese sauce over a gentle heat for 1-1½ hours until it's rich and thickened, stirring occasionally. At the end of the cooking time, stir in the basil and add any extra seasoning if necessary.
Remove from the heat to 'settle' while you cook the spaghetti in plenty of boiling salted water (for the time stated on the packet). Drain and divide between warmed plates. Scatter a little parmesan over the spaghetti before adding a good ladleful of the Bolognese sauce, finishing with a scattering of more cheese and a twist of black pepper.
You need JavaScript to view this clip.
How to brown mince


|
Spriter Object
0.8
Procedural animation based on the Spriter tool
|
Public Member Functions | |
| Extension (LPRDATA rdPtr, LPEDATA edPtr, fpcob cobPtr) | |
| bool | IsScmlObjectValid () |
| string | getFirstAnimationName () |
| void | StopAnimation () |
| Actions. More... | |
| void | StartAnimation () |
| Start animation. More... | |
| void | ChangeAnimationByName (TCHAR *name) |
| ChangeAnimationByName. More... | |
| void | ChangeAnimationByNameWithBlending (TCHAR *name, int blendingTime) |
| ChangeAnimationByNameWithBlending. More... | |
| void | ChangeAnimationTime (int timeMs) |
| ChangeAnimationTime. More... | |
| void | ChangeEntityByNumber (int num) |
| ChangeEntityByNumber. More... | |
| void | SetFlipX (int enable) |
| SetFlipX. More... | |
| void | SetAnimationSpeed (float speed) |
| SetAnimationSpeed. More... | |
| void | ApplyCharacterMap (TCHAR *name) |
| ApplyCharacterMap. More... | |
| void | RemoveCharacterMap (TCHAR *name) |
| RemoveCharacterMap. More... | |
| void | RemoveAllCharacterMaps () |
| RemoveAllCharacterMaps. More... | |
| void | SetScale (float scale) |
| SetScale. More... | |
| void | SetAngle (float angle) |
| SetAngle. More... | |
| void | LoadSpriteFromActive (string SpriteName, LPRO pObj, int nAmim, int nDir, int nFrame) |
| LoadSpriteFromActive. More... | |
| void | LoadOrderedSpritesPerAnimation (LPRO pObj, int nAnim) |
| LoadOrderedSpritesPerAnimation. More... | |
| void | LoadOrderedSpritesPerDirection (LPRO pObj, int nAnim, int nDir) |
| LoadOrderedSpritesPerDirection. More... | |
| void | LoadSoundFromSoundBank (TCHAR *soundPath, TCHAR *soundName) |
| void | BoundBoxToObject (TCHAR *boxName, LPRO object) |
| BoundBoxToObject. More... | |
| void | UnboundBoxFromObject (TCHAR *boxName) |
| UnboundBoxFromObject. More... | |
| void | SetDebug (int showBones, int showBoxes, int showPoints) |
| SetDebug. More... | |
| void | LoadScmlFile (TCHAR *filename) |
| LoadScmlFile. More... | |
| bool | IsAnimationPlayingByName (TCHAR *name) |
| Conditions. | |
| bool | HasCurrentAnimationFinished () |
| long | CompareCurrentTimeToValue (int val) |
| bool | IsTagActive (TCHAR *tagName) |
| bool | IsObjectTagActive (TCHAR *objectName, TCHAR *tagName) |
| bool | OnSoundEvent (TCHAR *soundName) |
| bool | OnTriggerEvent (TCHAR *triggerName) |
| bool | IsAnimationFlipped () |
| TCHAR * | LastError () |
| Expressions. | |
| TCHAR * | CurrentAnimationName () |
| float | GetScale () |
| float | GetAngle () |
| int | CurrentTime () |
| float | CurrentSpeedRatio () |
| float | GetRealVariable (TCHAR *variableName) |
| float | GetObjectRealVariable (TCHAR *objectName, TCHAR *variableName) |
| int | GetIntVariable (TCHAR *variableName) |
| int | GetObjectIntVariable (TCHAR *objectName, TCHAR *variableName) |
| TCHAR * | GetStringVariable (TCHAR *variableName) |
| TCHAR * | GetObjectStringVariable (TCHAR *objectName, TCHAR *variableName) |
| int | GetPointPosX (TCHAR *pointName) |
| int | GetPointPosY (TCHAR *pointName) |
| float | GetPointAngle (TCHAR *pointName) |
| void | Action (int ID, LPRDATA rdPtr, long param1, long param2) |
| long | Condition (int ID, LPRDATA rdPtr, long param1, long param2) |
| long | Expression (int ID, LPRDATA rdPtr, long param) |
| short | Handle () |
| short | Display () |
| short | Pause () |
| short | Continue () |
| bool | Save (HANDLE File) |
| bool | Load (HANDLE File) |
Public Attributes | |
| LPRDATA | rdPtr |
| LPRH | rhPtr |
| Edif::Runtime | Runtime |
| string | scmlFileString |
| SpriterEngine::EntityInstance * | scmlObj |
| SpriterEngine::SpriterModel * | scmlModel |
| unordered_map< string, Sprite > | SpriteSource |
| unordered_map< string, UINT > | SoundBank |
| unordered_map< string, LPRO > | BoxLink |
| unordered_map< string, UINT > | SoundEvent |
| unordered_map< string, UINT > | TriggerEvent |
| TCHAR | lastError [ERRORSIZE] |
| TCHAR | errorTemp [ERRORSIZE] |
| int | deltaTime |
| int | currentSystemTime |
| bool | animPlaying |
| bool | flipX |
| float | speedRatio |
| RECT | displayRect |
| string | currentAnimationName |
| Extension::Extension | ( | LPRDATA | _rdPtr, |
| LPEDATA | edPtr, | ||
| fpcob | cobPtr | ||
| ) |
EXTENSION CONSTRUCTOR/DESTRUCTOR
| void Extension::ApplyCharacterMap | ( | TCHAR * | name | ) |
ApplyCharacterMap.
Apply the specified character map
| name | : name of the character map to apply (see RemoveCharacterMap to undo) |
| void Extension::BoundBoxToObject | ( | TCHAR * | boxName, |
| LPRO | object | ||
| ) |
BoundBoxToObject.
Bound position(x and y), scale and angle from an active object to a box object in spriter
| boxName | : box name in spriter file |
| pObj | : active object to use as box |
| void Extension::ChangeAnimationByName | ( | TCHAR * | name | ) |
ChangeAnimationByName.
Change the current animation to the specified animation lecture
| name | : animation name to set |
| void Extension::ChangeAnimationByNameWithBlending | ( | TCHAR * | name, |
| int | blendingTime | ||
| ) |
ChangeAnimationByNameWithBlending.
Change the current animation to the specified animation lecture
| name | : animation name to set |
| void Extension::ChangeAnimationTime | ( | int | timeMs | ) |
ChangeAnimationTime.
Change the time in current animation
| timeMs | : time in ms to set |
| void Extension::ChangeEntityByNumber | ( | int | num | ) |
ChangeEntityByNumber.
Change the entity
| num | : entity number to set |
| void Extension::LoadOrderedSpritesPerAnimation | ( | LPRO | pObj, |
| int | nAnim | ||
| ) |
LoadOrderedSpritesPerAnimation.
Load all sprites from an active object in the specified animation given that the sprites are ordered by direction for folder and per frame for sprites
| pObj | : active object to use as library |
| nAnim | : animation number to choose from |
| void Extension::LoadOrderedSpritesPerDirection | ( | LPRO | pObj, |
| int | nAnim, | ||
| int | nDir | ||
| ) |
LoadOrderedSpritesPerDirection.
Load all sprites from an active object in the specified animation given that the sprites are ordered one after each other in one direction only
| pObj | : active object to use as library |
| nAnim | : animation number to choose from |
| nDir | : direction to choose from |
| void Extension::LoadScmlFile | ( | TCHAR * | filename | ) |
LoadScmlFile.
Load animation from a scml file. All sprite, box and sound bindings are reset and should be set again according the new file. Same thing for events.
| filename | : file name |
| void Extension::LoadSpriteFromActive | ( | string | spriteName, |
| LPRO | pObj, | ||
| int | nAnim, | ||
| int | nDir, | ||
| int | nFrame | ||
| ) |
LoadSpriteFromActive.
Load one sprite from an active object by a specific animation on a specific direction from a specific frame number
| spriteName | : sprite name in the spriter file |
| pObj | : active object to use as library |
| nAnim | : animation number to choose from |
| nDir | : direction to choose from |
| nFrame | : frame number of the sprite to clone in spriter object |
| void Extension::RemoveAllCharacterMaps | ( | ) |
RemoveAllCharacterMaps.
Remove all applied character maps
| void Extension::RemoveCharacterMap | ( | TCHAR * | name | ) |
RemoveCharacterMap.
Remove the specified character map
| name | : name of the character map to remove (see ApplyCharacterMap to apply a new one) |
| void Extension::SetAngle | ( | float | angle | ) |
SetAngle.
Rotate the whole object of the specified angle in degree
| scale | : angle in degree |
| void Extension::SetAnimationSpeed | ( | float | speed | ) |
SetAnimationSpeed.
Set the speed ratio of the current animation
| speed | : <0 is an invalid value (no change), >=0 set the speed ratio (2 => twice faster, 0.5 => twice slower) |
| void Extension::SetDebug | ( | int | showBones, |
| int | showBoxes, | ||
| int | showPoints | ||
| ) |
SetDebug.
Unbound position(x and y), scale and angle of a box object from the corresponding active object
| showBones | : !=0 means show bones on screen |
| showBoxes | : !=0 means show boxes on screen |
| showPoints | : !=0 means show points on screen |
| void Extension::SetFlipX | ( | int | enable | ) |
SetFlipX.
Flip the whole rendering of the object on the X axis
| enable | : <=0 means disabled, >0 means enabled |
| void Extension::SetScale | ( | float | scale | ) |
SetScale.
Set scale on both X and Y axis
| scale | : scale value to apply |
| void Extension::StartAnimation | ( | ) |
Start animation.
Elapsed time affects the renderer
| void Extension::StopAnimation | ( | ) |
Actions.
Stop animation.
Freeze the time of the current animation
| void Extension::UnboundBoxFromObject | ( | TCHAR * | boxName | ) |
UnboundBoxFromObject.
Unbound position(x and y), scale and angle of a box object from the corresponding active object
| boxName | : box name in spriter file |


{% extends "guides/base.html" %} {% from "guides/repo.html" import render_repo with context %} {% block title %}Fetching Data{% endblock %} {% block subtitle %}Learn how to request data from GitHub.{% endblock %} {% block container %}
You can request data from the GitHub API using the services/github.py
module. This makes it easier to make the authenticated request. We are making a request to the /user/starred
endpoint.
A GET request to this endpoint using the github.py
module looks like:
github = GitHub(access_token=session['access_token'])
results = github.get('/user/starred')
As a result, you will see your starred repositories below:
{% if repos|length == 0 %}You haven't starred any repositories on GitHub yet. You can star this project here.
{% else %}This example requires an authenticated user. Please log in to see your starred repositories.
{% endif %}


Sensex, Nifty trade flat in lacklustre trade; Zee gains 12%
SmartOwner launches SEBI compliant realty portfolio management services
3.02 pm
SmartOwner, property investment firm, has launched SmartOwner Portfolio Management Services - a SEBI-registered real estate investment that combines regular cash flows with the attractive growth potential.
SmartOwner brings together the financial expertise of a large PE fund, the legal expertise of a major law firm, and the real estate expertise of a top developer onto a common platform to give real estate investors access to exclusive high-return opportunities that are normally the domain of large financial institutions. The company by carefully selecting the assets across the fastest growing sectors of real estate, this diversified portfolio is structured to deliver maximum profitability and superior risk mitigation.
2.40 pm
Media stocks continue to rise for the second day; up 3%
Media shares were trading with gains for the second consecutive day on Thursday led by Zee Entertainment gaining over 12 per cent.
As media mogul Subhash Chandra finally agrees to give up control over Zee Entertainment by deciding to sell his 16.5 per cent stakes in the company, investors are already flocking in. The issue has already been oversubscribed nearly three times, Chandra's son Punit Goenka said in a statement.
“I am overwhelmed by the positive response received from our investors. Glad to share that the book was oversubscribed by approximately three times. I am grateful to our lenders and investors for their trust and support. I remain committed to elevating ZEE to a global media & entertainment powerhouse”, Punit Goenka, MD & CEO, ZEE Entertainment Enterprises, said.
Also, Japan's Sony Corp is in talks to acquire a stake in Mukesh Ambani's TV business, Network18 Media & Investments Ltd, Bloomberg reported on Thursday. Sony is doing the due diligence and considering several potential deal options, the agency reported, citing people familiar with the matter. The shares of Network18 has risen 11.46 per cent (at 2.30 pm) to trade at Rs 28.70.
Shares of Balaji Telefilms (up 9.23 per cent), Jagran Prakashan (up 7.51 per cent), Music Broadcast (up 6.5 per cent) and Zee Media Corporation (up 4.43 per cent) were the top gainers in the media index.
TV18 Broadcast (up 3.52 per cent), TV Today Network (up 1.35 per cent), PVR (up 1.35 per cent), Saregama (up 1.25 per cent) and Hathway Cable (up 1.01 per cent) too were trading higher.
The Nifty Media index was trading 3.73 per cent up at 1,932.70 at 2.30 pm.
Benchmark NSE Nifty50 index was down 7.70 points at 11,991.40 while the BSE Sensex was up 37.09 points at 40,688.73.
2.05 pm
Strategic sale in 5 PSUs: Government has no business to be in business, says Pradhan
A day after the Cabinet decided to shed the Centre’s holding in five public sector undertakings, Minister for Petroleum and Natural Gas, and Steel, Dharmendra Pradhan reiterated his stand that the government should not be operating businesses in sectors that are self-sustaining. Read more here
1.55 pm
Nifty Call: Tread with caution as it trades around a key level
After the sell-off in the latter part of yesterday’s session, the November futures contract of the Nifty 50 index declined in the initial hour of trade today. However, it has recovered from its intraday low of 11,982 and is currently trading around the important level of 12,000. On Wednesday, the index tested the upper boundary of the 11,835-12,070 range (at 12,066). Read more on the technicals here
1.05 pm
JSW group promoter Sajjan Jindal repays ₹200-cr debt
Sajjan Jindal, the promoter of JSW Group, has released pledged shares of JSW Steel and JSW Energy worth ₹200 crore. He has so far repaid ₹3,000 crore of loan in four tranches.
In his fifth tranche, Vividh Finvest, a promoter group company, on Thursday repaid loan to release 72 lakh of JSW Steel shares (accounting for 0.30 per cent of the paid up capital) and JSW Investments repaid debt to release 4.03 crore shares of JSW Energy (accounting for 2.45 per cent of paid up capital). Read more here
1 pm
Power generation declines 13 per cent in October
Electricity generation, as well as trading of power in the exchanges, have dipped in October, reflecting weakness in the Indian economy.
According to a report by brokerage house Motilal Oswal, conventional electricity generation declined 13 per cent on a year-on-year in the month of October. Demand from the western region was significantly down 20 per cent and from the south too mirrored a similar trend with a reduced generation of 14 per cent YoY. Read more here
12.25 pm
Broker's call: Bandhan Bank (Buy)
JMFL
CMP:₹525.35
Target:₹710
With respect to complying with RBI guidelines on promoter stake reduction, the bank continues to engage with the regulator having swiftly reduced promoters’ stake to 60.96 per cent (as of October 21, 2019), though still away from what is required. The management mentioned that in the absence of regulatory a go-ahead for collapsing the three-tier structure, the option to reduce stake through inorganic means is not on the table (given that the Gruh-merger gives them the desired diversification) and the bank does not need primary capital (CET1 at 28.45 per cent including 1HFY20 profits).
With regards to a secondary stake sale, nothing is currently being considered given that it continues to engage with the regulator. In our view, it is pertinent to note that Bandhan Bank has a history of having long-term shareholders with a focus to satisfy developmental needs in emerging economies and management still seems inclined towards such partners in the business. We continue to like Bandhan for strong track record on profitability, asset quality and efficiency.
In our view, Bandhan Bank has a strong growth runway and the Gruh merger gives it a much-need diversification while ensuring stability and compliments the business model.
12.10 pm
Broker's call - ITD Cementation (Buy)
ANANDRATHI
CMP: ₹58.65
Target: ₹74
Key takeaways: a) The about ₹1,000 crore Q1 additions were followed by about ₹1,900 crore in Q2, with L1 for about ₹2,000 crore already in Q3. With this, ITD is in touching distance of its 15-month FY19 addition of about ₹5,100 crore. The about ₹13,000 crore healthy prospects suggest more is likely in the rest of the year. Year-to-date additions, though diversified, seem to be lacking marine; consequently, marine’s share in the OB is now below 30 per cent.
b) The about ₹16,100 crore lower q-o-q consolidated net debt (at about ₹460 crore), despite sequentially flat standalone net debt implies the Bengaluru metro-rail SPV generated positive cash-flows to effect the lower debt. This augurs well as there were concerns about this zero-margin project (post lowered scope) generating cash flows to meet obligations.
c) Without quantifying, management reiterated that contingency reserves and the various insurances availed of would cover any additional costs it mayface because of the issue at hand. With regard to time over-run (and, consequently, higher costs), it hopes to be reimbursed by the client.
Valuations: FY20e earnings have been reduced around 17 per cent (around 7 per cent for FY21) as we lower our margin expectation.
Risk: Slower-than-expected execution.
11.58 am
Redington India announces 75% interim dividend
Redington India on Thursday announced 75 per cent interim dividend. The board of directors approved an interim dividend of Rs 1.50 per equity share on the face value of Rs 2 to be paid on or before December 19.
The record date has been fixed as December 4 for determining the eligible shareholders entitled to receive the interim dividend.
11.45 am
Zydus gets USFDA nod for heart, skin drugs
Zydus Cadila has received the final approval from the USFDA to market lsosorbide Dinitrate Tablets in the strengths of 5 mg, 10 mg, 20 mg, 30 mg and 40 mg.
The drug is used to prevent attacks of chest pain (angina). lt dilates the blood vessels, making it easier for blood to flow and more comfortable for the heart to pump. It will be manufactured at the group’s formulations manufacturing facility at Baddi.
It had also received the final approval for Desonide Cream 0.05%. The drug is a mild corticosteroid, used to treat a variety of skin conditions to reduce swelling, itching and redness that can occur in these types of conditions. It will be manufactured at the group’s topical manufacturing facility at Ahmedabad.
11.20 am
Conservative approach was a conscious choice, says CUB chief
BusinessLine spoke to N Kamakodi, Managing Director and Chief Executive Officer of City Union Bank on the eve of its Foundation Day celebrations. Here are the exited excerpts
11.13 am
OnMobile, Gionee tie-up to build and manage mobile entertainment ecosystem
OnMobile Global Limited partners with Gionee, owned by the Jaina Group, to launch its contest platform to provide an intuitive and rewarding experience to Gionee users.
With the sole purpose to increase engagement and generate incremental revenue for Gionee, OnMobile will launch its intuitive mobile entertainment platform.
Gionee, known for its new generation of mobile phones which redefines life in every way has entered into an agreement with OnMobile to launch its portfolio of products including contests, games, themes, tones, and videos.
11.05 am
Maruti’s premium hatchback Baleno celebrates 4th anniversary
Maruti Suzuki NEXA’s premium hatchback Baleno celebrates its 4th anniversary with over 6.5 lakh happy customers.
Launched in October 2015 and a true symbol of ‘Make in India,’ the premium hatchback Baleno has enjoyed unparalleled leadership in its segment. Customers are delighted upon driving the Baleno owing to its unique Liquid Flow Design, Best in a class cabin, cutting edge technology features packed with class-leading safety.
Aligning to its customer demands, new Baleno with the Next Generation Smart Hybrid technology was introduced in January 2019 offering Idle Start-Stop (ISS) and power regeneration. Baleno is also the country’s first BS6 compliant premium hatchback.
10.55 am
Sony in talks to buy stake in Network18 Media
Japan's Sony Corp is in talks to acquire a stake in Indian billionaire Mukesh Ambani's TV business, Network18 Media & Investments Ltd, Bloomberg reported on Thursday.
Sony is doing the due diligence and considering several potential deal options, Bloomberg reported, citing people familiar with the matter.
Ambani's Reliance Industries and Sony did not immediately respond to Reuters' requests for comment.
10.40 am
Centre approves Industrial Relations Code Bill
The Centre approved on Wednesday the Industrial Relation Code Bill, which is the third code under labour reforms.
The government wants to codify 44 central labour laws into four broad codes.
While Parliament has already approved the Code on Wages, the Labour ministry will push the Code on Occupational Safety, Health and Working Conditions Bill in the Budget session. The Code on Social Security is in the pre-legislative stage.
The Union Cabinet, chaired by Prime Minister Narendra Modi, has given its approval for introduction of the Industrial Relations Code, 2019, in Parliament, an official statement said. Read more here
10.20 am
Why the BPCL share price is falling after divestment announcement
The share price of BPCL, one of India’s largest public sector oil refineries, has shown a muted response to an announcement by the government to divest its entire stake in the company. BPCL’s share price declined by 2.74 per cent to Rs 529 after the market opened on Thursday. The key reason is the anticipation of a lower valuation for BPCL's Numaligarh Refinery.
Analysts told BusinessLine that BPCL’s overall valuation could be impacted as the company’s Numaligarh Refinery (NRL) would be carved out, to be taken over by another PSU.
10.17 am
Zee oversubscribed as Subhash Chandra sells his 16.5% stake
As media mogul Subhash Chandra finally agrees to give up control over Zee Entertainment by deciding to sell his 16.5 per cent stakes in the company, investors are already flocking in.
The issue has already been oversubscribed nearly three times, Chandra's son Punit Goenka said in a statement.
“I am overwhelmed by the positive response received from our investors. Glad to share that the book was oversubscribed by approximately 3 times. I am grateful to our lenders and investors for their trust and support. I remain committed to elevating ZEE to a global media & entertainment powerhouse”, Punit Goenka, MD & CEO, ZEE Entertainment Enterprises, said.
10.09 am
As rupee consolidates, adopt range-trading strategy
The rupee (INR) closed lower on Wednesday at 71.81 compared to its previous close of 71.71 against the dollar (USD). The Indian currency is consolidating within a range between 71.6 and 72. Though the bias remains bullish as long as it stays above 72, only a breakout of the resistance at 71.6 can establish an uptrend. Read more the technicals here
9.55 am
Subhash Chandra to give up control of Zee Entertainment
Subhash Chandra is set to lose control of Zee Entertainment. The promoters of Essel group on Wednesday announced the selling of a 16.5 per cent stake in Zee Entertainment (ZEEL) to financial investors, including OFI Global China Fund, in a move to repay its debt.
9.50 am
Dhunseri tea eyes African estates
Dhunseri Tea and Industries, which recently completed the sale of its branded business to Tata Global Beverages (TGBL), is exploring possibility of acquiring tea estates in Africa.
According to CK Dhanuka, Chairman, Dhunseri Tea, the company will look at assets in Africa if the pricing is attractive. The company produces close to 21 million kg (mkg) of tea through its estates in India and Africa. Read more here
9.40 am
SEBI ensures portfolio managements services only for high net worth investors
The decision of the Securities and Exchange Board of India (SEBI), to tighten norms for portfolio managements services (PMS), will ensure that only well-informed investors will participate in high-risk product offerings, said an expert.
Lav Chaturvedi, ED and CEO, Reliance Securities said, "SEBI's decision to increase the net worth criteria for PMS is a welcome move which is more to do keeping in mind investors safety and ensure there are serious players in the industry. Second, increasing ticket size will ensure only well informed investors will participate in the high risk products offerings."
On Wednesday, SEBI announced that the net-worth criteria for portfolio managers will now be Rs 5 crore instead of Rs 2 crore, that was announced earlier. Those below Rs 5 crore net-worth will not be registered with SEBI. This would affect thousands of portfolio managers across India, experts said.
9.35 am
What to Watch: Philippine bank picks Intellect Design tool
Intellect Design Arena on Wednesday said Philippines Business Bank has chosen to deploy its Digital Core solution, IDC 19.1. The company is geared to implement IDC 19.1, aimed at accelerating the bank's digital transformation initiatives to drive its vision of building a broad economic base for SMEs and making banking services accessible to them. However, Intellect Design did not disclose the order size. Shareholders will monitor other details and execution of the project.
9.30 am
Will RIL hit ₹10-lakh-cr in market cap today?
All eyes are on Reliance Industries as it nears the ₹10-lakh-crore mark. At the close of Wednesday’s trading, the company’s market capitalisation stood at ₹9.8 lakh crore. RIL’s stock rose 2.47 per cent to close at ₹1,547.05 on the BSE. During the day, it jumped 4.1 per cent to ₹1,571.85 — its record high. If the stock hits ₹1,579, the market-cap will hit ₹10 lakh crore. Though some analysts advice caution on the stock, market participants believe Reliance Industries will reach the coveted level.
9.25 am
Rupee opens on a flat note on Thursday depreciating two paise to 71.83 against the US dollar.
9.20 am
Opening bell: Equity indices opened on a flat note on Thursday. The Asian markets are trading weak as a fresh row between Washington and Beijing over US bills on Hong Kong could complicate their trade negotiation.
As per Reuters report, the US House of Representatives on Wednesday passed bills intended to support protesters in Hong Kong and send a warning to China about human rights.
At 9.15 am, the Sensex is up 3 points at 40,654.66, while Nifty is up 9.50 points at 12,008.60. About 457 shares have advanced, 290 shares declined, and 44 shares are unchanged.
All the sectoral indices are trading flat, except for media index, which is up 5.43 per cent.
9.14 am
Centre clears strategic divestment in five PSUs
The Centre on Wednesday gave in-principle approval for strategic disinvestment of the government shareholding in five public sector enterprises along with management control.
These five PSUs are Bharat Petroleum Corporation Ltd (BPCL); Shipping Corporation of India; Container Corporation of India; Tehri Hydro Power Development Corporation (THDCIL), and North Eastern Electric Power Corporation Ltd (NEEPCO). Read more here
9.08 am
Crude oil dips on worries US-China trade deal could slip to next year
il prices retreated on Thursday as a spat over Hong Kong added to worries of a delay in any US-China trade deal, after posting steep gains in the previous session on bullish U.S. crude inventory data.
The trade war between the world's two biggest economies has dominated the outlook for future oil demand, and trade experts have warned the completion of a “phase one” U.S.-China trade deal could slip into next year.
Brent crude futures fell 25 cents, or 0.4%, to $62.15 a barrel by 0138 GMT. The international benchmark rose 2.5% on Wednesday. Read more here
9.05 am
Day Trading Guide for November 21, 2019
Given below are supports and resistances for Nifty 50 futures and seven key stocks that can help in your intra-day trading:
₹1273 • HDFC Bank
| S1 | S2 | R1 | R2 | COMMENT |
| 1260 | 1247 | 1285 | 1300 | Fresh long positions can be initiated with a tight stop-loss if the stock rebounds up from ₹1,260 levels |
₹712 • Infosys
| S1 | S2 | R1 | R2 | COMMENT |
| 705 | 695 | 722 | 732 | Initiate fresh long positions with a stiff stop-loss if the stock of Infosys moves beyond ₹722 levels |
₹250 • ITC
| S1 | S2 | R1 | R2 | COMMENT |
| 247 | 244 | 253 | 256 | The stock tests a key support at current levels. Go long with a fixed stop-loss on a strong rally above ₹253 levels |
₹133 • ONGC
| S1 | S2 | R1 | R2 | COMMENT |
| 130 | 127 | 136 | 139 | Fresh short positions are recommended with a fixed stop-loss only if the stock declines below ₹130 levels |
₹1547 • Reliance Ind.
| S1 | S2 | R1 | R2 | COMMENT |
| 1530 | 1514 | 1560 | 1575 | Make use of intra-day dips to buy the stock of RIL while maintaining a stiff stop-loss at ₹1,530 levels |
₹328 • SBI
| S1 | S2 | R1 | R2 | COMMENT |
| 322 | 313 | 336 | 343 | Initiate fresh short positions with a tight stop-loss only if the stock of SBI declines below ₹322 levels |
₹2108 • TCS
| S1 | S2 | R1 | R2 | COMMENT |
| 2090 | 2060 | 2130 | 2150 | The stock was choppy testing a key support last session. Go short with a fixed stop-loss on a fall below ₹2,090 levels |
12018 • Nifty 50 Futures
| S1 | S2 | R1 | R2 | COMMENT |
| 11970 | 11920 | 12070 | 12120 | Consider initiating fresh long positions with a tight stop-loss if the contract advances above 12,070 levels |
S1, S2 : Support 1 & 2; R1, R2: Resistance 1 & 2.
9.03 am
Today's Pick - Zee Entertainment Enterprises (₹307.1): Buy
Investors with a short-term horizon can buy the stock of Zee Entertainment Enterprises (ZEEL) at current levels. The stock jumped 7.5 per cent accompanied by above average volume and managed to close above a key resistance at ₹300. Read the full technicals here
9 am
Asian shares slide as China-US spat on Hong Kong clouds trade deal outlook
Global shares slid on Thursday as a fresh row between Washington and Beijing over U.S. bills on Hong Kong could complicate their trade negotiation and delay a ”phase one” deal that investors had initially hoped to be inked by now.
MSCI's broadest index of Asia-Pacific shares outside Japan fell 0.16% while Japan's Nikkei dropped 0.25%. Read more here


These are the Filters
Use them to find what you want and enjoy food
Choose Your Filters
Pune
Location
Suggestions:
Pune
Mumbai
Banglore
Current location
Suggestion:
Pune
Mumbai
Banglore
3000
Search with radius (meters)
1000
2000
3000
5000
Select Price Range
Price Range
Price from
100.000
150.000
200.000
500.000
2000.000
Price till
100.000
150.000
200.000
500.000
2000.000
Set range
Price Range
Additional Filters
With Contact No
Verified
Checkins
Good Ratings
IsOpen
Specials
Search
Filters


Class Dataset
Inheritance
System.Object
Dataset
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Assembly: UnityExt.Project.dll
Syntax
[Serializable]
public class Dataset
Fields
|
Improve this Doc
View Source
ao
Declaration
Field Value
| Type |
Description |
| System.Object[] |
|
|
Improve this Doc
View Source
c0
Declaration
Field Value
|
Improve this Doc
View Source
l0
Declaration
Field Value
| Type |
Description |
| System.Object[] |
|
|
Improve this Doc
View Source
l1
Declaration
Field Value
| Type |
Description |
| System.Object[] |
|
|
Improve this Doc
View Source
l2
Declaration
Field Value
| Type |
Description |
| System.Object[] |
|
|
Improve this Doc
View Source
p0
Declaration
Field Value
|
Improve this Doc
View Source
vbool
Declaration
Field Value
| Type |
Description |
| System.Boolean |
|
|
Improve this Doc
View Source
vbyte
Declaration
Field Value
| Type |
Description |
| System.Byte |
|
|
Improve this Doc
View Source
vchar
Declaration
Field Value
| Type |
Description |
| System.Char |
|
|
Improve this Doc
View Source
vdate
Declaration
Field Value
| Type |
Description |
| System.DateTime |
|
|
Improve this Doc
View Source
vdecimal
Declaration
Field Value
| Type |
Description |
| System.Decimal |
|
|
Improve this Doc
View Source
vdouble
Declaration
Field Value
| Type |
Description |
| System.Double |
|
|
Improve this Doc
View Source
vfloat
Declaration
Field Value
| Type |
Description |
| System.Single |
|
|
Improve this Doc
View Source
vint
Declaration
Field Value
| Type |
Description |
| System.Int32 |
|
|
Improve this Doc
View Source
vlong
Declaration
Field Value
| Type |
Description |
| System.Int64 |
|
|
Improve this Doc
View Source
vsbyte
Declaration
Field Value
| Type |
Description |
| System.SByte |
|
|
Improve this Doc
View Source
vshort
Declaration
Field Value
| Type |
Description |
| System.Int16 |
|
|
Improve this Doc
View Source
vstring
Declaration
Field Value
| Type |
Description |
| System.String |
|
|
Improve this Doc
View Source
vtimespan
Declaration
public TimeSpan vtimespan
Field Value
| Type |
Description |
| System.TimeSpan |
|
|
Improve this Doc
View Source
vuint
Declaration
Field Value
| Type |
Description |
| System.UInt32 |
|
|
Improve this Doc
View Source
vulong
Declaration
Field Value
| Type |
Description |
| System.UInt64 |
|
|
Improve this Doc
View Source
vushort
Declaration
Field Value
| Type |
Description |
| System.UInt16 |
|


AnimationsScaleConstraint¶
The AnimationsScaleConstraint module.
ScaleConstraint AddSource¶
-
UnityEngineAnimationsScaleConstraint.
__AddSource__UnityEngineAnimationsConstraintSource__SystemInt32
(UnityEngine.Animations.ScaleConstraint instanceUnityEngine.Animations.ConstraintSource source)¶
outputs: unnamed (Int32
)
flow inputs: unnamed
flow outputs: unnamed
op_Equality¶
-
UnityEngineAnimationsScaleConstraint.
__op_Equality__UnityEngineObject_UnityEngineObject__SystemBoolean
(UnityEngine.Object UnityEngine.Object)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint Equals¶
-
UnityEngineAnimationsScaleConstraint.
__Equals__SystemObject__SystemBoolean
(UnityEngine.Animations.ScaleConstraint instanceSystem.Object other)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint get_constraintActive¶
-
UnityEngineAnimationsScaleConstraint.
__get_constraintActive__SystemBoolean
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint get_enabled¶
-
UnityEngineAnimationsScaleConstraint.
__get_enabled__SystemBoolean
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint get_gameObject¶
-
UnityEngineAnimationsScaleConstraint.
__get_gameObject__UnityEngineGameObject
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (GameObject
)
flow: none
ScaleConstraint get_locked¶
-
UnityEngineAnimationsScaleConstraint.
__get_locked__SystemBoolean
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint get_name¶
-
UnityEngineAnimationsScaleConstraint.
__get_name__SystemString
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (String
)
flow: none
ScaleConstraint get_scaleAtRest¶
-
UnityEngineAnimationsScaleConstraint.
__get_scaleAtRest__UnityEngineVector3
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Vector3
)
flow: none
ScaleConstraint get_scaleOffset¶
-
UnityEngineAnimationsScaleConstraint.
__get_scaleOffset__UnityEngineVector3
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Vector3
)
flow: none
ScaleConstraint get_scalingAxis¶
-
UnityEngineAnimationsScaleConstraint.
__get_scalingAxis__UnityEngineAnimationsAxis
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Axis
)
flow: none
ScaleConstraint get_sourceCount¶
-
UnityEngineAnimationsScaleConstraint.
__get_sourceCount__SystemInt32
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Int32
)
flow: none
ScaleConstraint get_transform¶
-
UnityEngineAnimationsScaleConstraint.
__get_transform__UnityEngineTransform
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Transform
)
flow: none
ScaleConstraint get_weight¶
-
UnityEngineAnimationsScaleConstraint.
__get_weight__SystemSingle
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Single
)
flow: none
ScaleConstraint GetComponent¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponent__SystemType__UnityEngineComponent
(UnityEngine.Animations.ScaleConstraint instanceSystem.Type type)¶
outputs: unnamed (Component
)
flow: none
ScaleConstraint GetComponentInChildren¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponentInChildren__SystemBoolean__T
(UnityEngine.Animations.ScaleConstraint instanceSystem.Boolean includeInactiveSystem.Type type)¶
outputs: T (Object
)
flow: none
ScaleConstraint GetComponentInParent¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponentInParent__SystemType__UnityEngineComponent
(UnityEngine.Animations.ScaleConstraint instanceSystem.Type t)¶
outputs: unnamed (Component
)
flow: none
ScaleConstraint GetComponents¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponents__ListT__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Collections.Generic.List`1[UnityEngine.Object] results)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint GetComponentsInChildren¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponentsInChildren__SystemBoolean_ListT__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Boolean includeInactiveSystem.Collections.Generic.List`1[UnityEngine.Object] result)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint GetComponentsInParent¶
-
UnityEngineAnimationsScaleConstraint.
__GetComponentsInParent__SystemBoolean_ListT__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Boolean includeInactiveSystem.Collections.Generic.List`1[UnityEngine.Object] results)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint GetHashCode¶
-
UnityEngineAnimationsScaleConstraint.
__GetHashCode__SystemInt32
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Int32
)
flow: none
ScaleConstraint GetInstanceID¶
-
UnityEngineAnimationsScaleConstraint.
__GetInstanceID__SystemInt32
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Int32
)
flow: none
ScaleConstraint GetSource¶
-
UnityEngineAnimationsScaleConstraint.
__GetSource__SystemInt32__UnityEngineAnimationsConstraintSource
(UnityEngine.Animations.ScaleConstraint instanceSystem.Int32 index)¶
outputs: unnamed (ConstraintSource
)
flow: none
ScaleConstraint GetSources¶
-
UnityEngineAnimationsScaleConstraint.
__GetSources__SystemCollectionsGenericListUnityEngineAnimationsConstraintSource__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Collections.Generic.List`1[UnityEngine.Animations.ConstraintSource] sources)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint GetType¶
-
UnityEngineAnimationsScaleConstraint.
__GetType__SystemType
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (Type
)
flow: none
op_Implicit¶
-
UnityEngineAnimationsScaleConstraint.
__op_Implicit__UnityEngineObject__SystemBoolean
(UnityEngine.Object)¶
outputs: unnamed (Boolean
)
flow: none
op_Inequality¶
-
UnityEngineAnimationsScaleConstraint.
__op_Inequality__UnityEngineObject_UnityEngineObject__SystemBoolean
(UnityEngine.Object UnityEngine.Object)¶
outputs: unnamed (Boolean
)
flow: none
ScaleConstraint RemoveSource¶
-
UnityEngineAnimationsScaleConstraint.

__SetSource__SystemInt32_UnityEngineAnimationsConstraintSource__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Int32 indexUnityEngine.Animations.ConstraintSource source)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint SetSources¶
-
UnityEngineAnimationsScaleConstraint.
__SetSources__SystemCollectionsGenericListUnityEngineAnimationsConstraintSource__SystemVoid
(UnityEngine.Animations.ScaleConstraint instanceSystem.Collections.Generic.List`1[UnityEngine.Animations.ConstraintSource] sources)¶
outputs: none
flow inputs: unnamed
flow outputs: unnamed
ScaleConstraint ToString¶
-
UnityEngineAnimationsScaleConstraint.
__ToString__SystemString
(UnityEngine.Animations.ScaleConstraint instance)¶
outputs: unnamed (String
)
flow: none


You are viewing an historical archive of past issues. Please
report new issues to the appropriate project issue tracker on
GitHub.
Comments
-
Greg Hurrell
Your ideas are basically spot on. Either:
- get Synergy to load earlier by moving it up in your Login Items, or deferring the loading of other status items until later
- use a narrower button set
- review your "menu extras" and see if there are any dispensable ones which you could live without
- use Synergy via hot keys even when it is invisible because the screen is too narrow
- get a bigger screen (yeah, I know... not often a viable option)
Add a comment
Comments are now closed for this issue.


| uniquecombs {mgcv} | R Documentation |
This routine returns a matrix or data frame containing all the unique rows of the matrix or data frame supplied as its argument. That is, all the duplicate rows are stripped out. Note that the ordering of the rows on exit need not be the same as on entry. It also returns an index attribute for relating the result back to the original matrix.
uniquecombs(x,ordered=FALSE)
x |
is an R matrix (numeric), or data frame. |
ordered |
set to |
Models with more parameters than unique combinations of covariates are not identifiable. This routine provides a means of evaluating the number of unique combinations of covariates in a model.
When x
has only one column then the routine
uses unique
and match
to get the index. When there are
multiple columns then it uses paste0
to produce labels for each row,
which should be unique if the row is unique. Then unique
and match
can be used as in the single column case. Obviously the pasting is inefficient, but
still quicker for large n than the C based code that used to be called by this routine, which
had O(nlog(n)) cost. In principle a hash table based solution in C
would be only O(n) and much quicker in the multicolumn case.
unique
and duplicated
, can be used
in place of this, if the full index is not needed. Relative performance is variable.
If x
is not a matrix or data frame on entry then an attempt is made to coerce
it to a data frame.
A matrix or data frame consisting of the unique rows of x
(in arbitrary order).
The matrix or data frame has an "index"
attribute. index[i]
gives the row of the returned
matrix that contains row i of the original matrix.
If a dataframe contains variables of a type other than numeric, logical, factor or character, which
either have no as.character
method, or whose as.character
method is a many to one mapping,
then the routine is likely to fail.
If the character representation of a dataframe variable (other than of class factor of character) contains *
then in priniciple the method could fail (but with a warning).
Simon N. Wood<EMAIL_ADDRESS>with thanks to Jonathan Rougier
require(mgcv) ## matrix example... X <- matrix(c(1,2,3,1,2,3,4,5,6,1,3,2,4,5,6,1,1,1),6,3,byrow=TRUE) print(X) Xu <- uniquecombs(X);Xu ind <- attr(Xu,"index") ## find the value for row 3 of the original from Xu Xu[ind[3],];X[3,] ## same with fixed output ordering Xu <- uniquecombs(X,TRUE);Xu ind <- attr(Xu,"index") ## find the value for row 3 of the original from Xu Xu[ind[3],];X[3,] ## data frame example... df <- data.frame(f=factor(c("er",3,"b","er",3,3,1,2,"b")), x=c(.5,1,1.4,.5,1,.6,4,3,1.7), bb = c(rep(TRUE,5),rep(FALSE,4)), fred = c("foo","a","b","foo","a","vf","er","r","g"), stringsAsFactors=FALSE) uniquecombs(df)


--- layout: post status: publish published: true title: "满地落叶,满眼蹉跎" author: Leask author_login: leask author_email<EMAIL_ADDRESS>author_url: https://leaskh.com wordpress_id: 561 wordpress_url: http://leaskh.wordpress.com/2006/05/21/%e6%bb%a1%e5%9c%b0%e8%90%bd%e5%8f%b6%e6%bb%a1%e7%9c%bc%e8%b9%89%e8%b7%8e date: '2006-05-21 17:36:11 +0800' date_gmt: '2006-05-21 17:36:11 +0800' categories: - Life tags: [] comments: [] ---


This activity renders Quiz related apps.
More...
Inherits AppCompatActivity.
|
| void | onCreate (Bundle savedInstanceState) |
| | The method is executed first when the activity is created. More...
|
| |
This activity renders Quiz related apps.
It populates questions and maintains the current score.
| void org.buildmlearn.appstore.activities.QuestionActivity.onCreate |
( |
Bundle |
savedInstanceState | ) |
|
The method is executed first when the activity is created.
- Parameters
-
| savedInstanceState | The bundle stores all the related parameters, if it has to be used when resuming the app. |
| void org.buildmlearn.appstore.activities.QuestionActivity.populateQuestion |
( |
int |
index | ) |
|
|
private |
Populates the question according to the index.
- Parameters
-
| index:The | index of the question, which is to be populated. |
| int org.buildmlearn.appstore.activities.QuestionActivity.iCurrentCorrectAnswer |
|
private |
| Button org.buildmlearn.appstore.activities.QuestionActivity.iNextButton |
|
private |
| TextView org.buildmlearn.appstore.activities.QuestionActivity.iQuestion_no_Label |
|
private |
| int org.buildmlearn.appstore.activities.QuestionActivity.iQuestionIndex = 0 |
|
private |
| TextView org.buildmlearn.appstore.activities.QuestionActivity.iQuestionLabel |
|
private |
| RadioButton org.buildmlearn.appstore.activities.QuestionActivity.iRad0 |
|
package |
| RadioButton org.buildmlearn.appstore.activities.QuestionActivity.iRad1 |
|
private |
| RadioButton org.buildmlearn.appstore.activities.QuestionActivity.iRad2 |
|
package |
| RadioButton org.buildmlearn.appstore.activities.QuestionActivity.iRad3 |
|
package |
| final List<RadioButton> org.buildmlearn.appstore.activities.QuestionActivity.iRadButtonList = new ArrayList<>() |
|
private |
| RadioGroup org.buildmlearn.appstore.activities.QuestionActivity.iRadioGroup |
|
private |
| ArrayList<Question> org.buildmlearn.appstore.activities.QuestionActivity.mQuestionAnsList |
|
private |
| QuizModel org.buildmlearn.appstore.activities.QuestionActivity.mQuizModel |
|
private |
The documentation for this class was generated from the following file:
- C:/Users/Srujan/Documents/GitHub/BuildmLearn-Store/Android/source-code/AppStore/app/src/main/java/org/buildmlearn/appstore/activities/QuestionActivity.java


COVID-19 (Coronavirus) is causing worry and anxiety for everyone in the UK, but particularly those in at risk groups including the elderly and those with health issues.
The CoronaFriend project has been launched to help people offer support to their neighbours and ensure that nobody is left isolated.
Take responsibility for a street or area in your neighbourhood and distribute CoronaFriend postcards to ensure anyone who needs help knows it’s available.
Even if you’ve already leafleted your street, make sure you mark your street on the map so we know it’s been covered.
Find your street on the map!
Either zoom in to where you live, search for your postcode, or hit the (Show me where I am) button.
Click your road, enter the details and hit the Update button,
Drop the CoronaFriend leaflets through your neighbours' doors!


Volumes are block devices that can be attached to instances.
Volume Type Description: If "No volume type" is selected, the volume will be created without a volume type.


PRAYER FOR TRAVELERSLord Jesus, thank you for giving me the opportunity to travel again. Lord, by your Spirit, guide me away from the vehicle (or any mode of transportation, land, air or sea) marked out for accident this day. Lord, dispatch your angels to take charge and make this journey smooth, peaceful, fruitful and safe for me today. Amen. |


Print-Q
SEARCH
(current)
SEE ALL PRINTERS
REPORT ISSUE
SETTINGS
LOGOUT
Settings
Change your default ink preference
Black and White
Color
Change your school
New York University
Don't see your school?
Send us a request
here
×
Submit changes
< Back


Mission: Turn Asian American students and faculty into Christ-centered laborers.
Vision: We envision Asian American students and faculty whose lives are being transformed by the gospel and who are...
Growing in their understanding of and relationship with Jesus Christ
Embracing the value of their culture through Christ’s redemptive love
Taking their place in God’s redemptive plan by building missional movements that impact their families, peers, community, and world with the power of the gospel


Meghan Markle on 'fears and insecurities' and why she doesn't want people to love her
The Duchess of Sussex comforted a crying domestic violence victim in London who had been stabbed by a former partner
by Matthew Dresch, https://www.mirror.co.uk/authors/matthew-dresch/Meghan Markle opened up about the 'hopes, fears and insecurities' as she chatted to disadvantaged women.
The Duchess of Sussex comforted a crying domestic violence victim during a visit to the London-based Luminary Bakery, a non-profit organisation set up to empower women.
She told the woman, who was stabbed by a former partner, that humans are 'not mechanical objects that need to be fixed'.
Meghan also spoke out about women having a 'deep connection' and 'shared understanding' with each other in her latest interview.
According to the Daily Telegraph, the royal said: "I find that when you strip all the layers away, as people, and especially as women, we can find deep connection with each other, and a shared understanding.
"Our lives may be different, our backgrounds, our experiences, all varied, but I find that in these moments of connection it becomes abundantly clear that our hopes, our fears, our insecurities, the things that make us tick…. well, those are very much the same. And there's comfort in that."
She also criticised today's 'culture of instant gratification, or the instant fix' during her visit to the bakery.
Megan told the Daily Telegraph she did not want people to love her - and instead hopes they will to listen to her.
It comes after the Duchess revealed she was struggling being a mum in the spotlight.
Meghan and Prince Harry gave in-depth interviews in a recent ITV documentary that charted their Africa Royal Tour.
Prince Harry also revealed he and brother William were going down separate paths in life.
The Duchess, who appeared emotional on screen, said pregnancy is a "really vulnerable" time, adding not many people had asked after her well being.
She said she had "tried to adopt this British sensibility of a stiff upper lip" but had been left feeling hurt over negative press coverage the couple had received.


Table
Correlation of attendance to final grade
| Name | Attendance | Grade |
|---|---|---|
| Joe Blogs | 100% | First |
| Fred Busybud | 50% | third |
| Span across … two columns | column 3 | |
| Survey conducted for the past 30 years! |
| Name | Attendance | Grade |
|---|---|---|
| Joe Blogs | 100% | First |
| Fred Busybud | 50% | third |
| Span across … two columns | column 3 | |
| Survey conducted for the past 30 years! |


Your donations help support all development and maintenance activities of the jQuery Project. Thank you for your support!
Some text about donating with PayPal. Thanks for you donation. A little more text would really help fill out this section and make it feel fuller and such.
Donate NowPlease send checks to:
jQuery Foundation
188 Whiting Street
Suite 10
Hingham, MA 02043
Make the check payable to: 'jQuery Foundation'


UMBRELLAS OF CHERBOURG, THE (PARAPLUIES DE CHERBOURG, LES) (director: Jacques Demy/writer; cinematographer: Jean Rabier; cast: Catherine Deneuve (Genevieve Emery), Nino Castelnuovo (Guy Foucher), Anne Vernon (Mrs. Emery), Marc Michel (Roland Cassard), Ellen Farner (Madeleine), Mireille Perrey (Aunt Elise), 1964-Fr.)
Reviewed by Dennis Schwartz
The film critic, Jonathan Rosenbaum, has written a great review on the merits of Jacques Demy and his film, The Umbrellas of Cherbourg, going on to compare Demy to the great Japanese film director, Yasujiro Ozu. The similarities between the works of these two is, indeed, striking, since they both made films devoted to the normalcy of the family structure, keen on preserving the daily traditional rituals of each of their cultures; while curiously enough, both men were deviant of their culture's sexual mores. Demy being married to the director Agnes Varda, was nevertheless considered to be bi-sexual, dying of AIDS in 1990. While Ozu, a bachelor, was thought to be gay. That both men achieved excellent success in their films by portraying the human condition through the eyes of normal lifestyles is, indeed, a curious oddity.
Umbrellas is made into an opera-like film by composer Michel Legrand. The actors sing their lines rather than just say them. The film itself is lushly colored in pastels, offering a very brilliant color-coordinated production. It tells the story of two young lovers in Cherbourg, in 1957; the 17-year-old salesgirl in her mother's umbrella shop, Genevieve (Deneuve); and, the 20-year-old garage mechanic Guy (Nino). They plan to get married, but the war in Algeria changes their plans when to Guy's dismay he receives a draft notice.
Genevieve's mother, Mrs. Emery (Anne), every inch of her body is bourgeois, objects to the marriage because she is too young to know what love is. When her business assumes great debts, she goes with her attractive daughter to try and sell her jewels but is rebuffed by the jeweler; but, a rich young man in the store at the time comes to the rescue by buying the jewels from her. He tells her he is a diamond merchant and will not lose money. It turns out that this is Roland Cassard (Marc), the rejected suitor from Demy's first feature film, Lola. He is the one who couldn't stay at home when Lola spurned him; and, thereby, went traveling to find himself, in the process of finding himself he becomes extremely wealthy. The mother is impressed with Roland's good manners and kindness, and feels he would be a protective husband for her daughter.
The last date Guy and Genevieve have before he goes into the army, turns out to be significant; it is the first time they sleep together. As a result, she becomes pregnant, which she keeps secret. Their departure at the railroad station is full of promises of marriage, being true to each other, and their love being forever. But Guy turns out to be a poor letter writer and Genevieve is disappointed in not hearing from him for long stretches of a time. He probably doesn't write her because he develops a limp when hit by a handgrenade and doesn't want to worry her. But Genevieve's mother pushes her to Roland, taking advantage of her confused state; and he proposes, willing to take the child as his own. And so she marries the one she doesn't love... Roland is not aware of this marriage until he comes home from the war in 1959.
He becomes bitter and has trouble adjusting to civilian life, after a squabble with his boss at the garage, he decides to quit his mechanic's job and live off his army pension from his wound. When his godmother, Aunt Elise (Mireille) dies, she leaves him enough money so he can buy his own gas station.
It is now 1963: Guy and Madeleine have a son. It is snowing and they are happily decorating their Christmas tree in his Esso station. As soon as Madeleine and her son go out for a walk, a Mercedes pulls in with Genevieve and her daughter. He is startled to see her.This is the first time they have met since he went into the army. They talk inside his office, exchanging banalities, but not saying what is on their mind. He doesn't know that he has a daughter, and refuses Genevieve's offer to meet her little girl. She never tells him about why she married, or of his daughter. She drives back to Paris when Guy says, "I think you'd better go."...
Their class differences were well-mapped out in the final scene: he has moved up the ladder to middle-class prosperity. She has become upper-class. Their lack of communication is now complete. He has never met her husband, and does not realize that it was her husband's Mercedes that he serviced on the day we first see him happily rushing off to date Genevieve.
This story doesn't seem to be much on paper, but it is as poignant, as surely as it is ordinary. It is one that happens most of the time, rather than the reverse being true, of people marrying for love. And that is Demy's point, that coincidences, luck, and good timing seem to matter even more than love.
Everything about this film was done to perfection. Demy is one of the most underrated directors of French cinema. American audiences rarely get a chance to see his great body of films, and that is surely their loss.
REVIEWED ON 11/27/98 GRADE: A
http://www.sover.net/~ozus
<EMAIL_ADDRESS>Dennis Schwartz: "Ozus' World Movie Reviews"
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


Preparation time
30 mins to 1 hour
Cooking time
1 to 2 hours
Serves
Serves 8
Dietary
Take custard tart to the next level with crisp sugared walnuts and ice cream. The perfect dessert to impress your friends.
For this recipe you will need a 30cm/12in loose-bottomed tart tin.
For the pastry, put the flour, sugar, butter and vanilla seeds in a bowl and rub together using your fingertips until the mixture resembles breadcrumbs. (Alternatively, pulse in a food processor).
Lightly beat the whole egg and pour it into the flour mixture. Stir the mixture together until it forms clumps, then bring together with your hands to form a dough. Wrap in cling film and rest in the fridge for 30 minutes.
Preheat the oven to 200C/180C Fan/Gas 6.
Roll out the pastry and line a 30cm/12in loose-bottomed flan tin, leaving any excess pastry hanging over the edge - do not trim until after the pastry has been cooked. Line with baking paper and fill with baking beans or uncooked rice. Bake for 8-10 minutes. Remove the baking paper and baking beans. Reduce the oven temperature to 150C/130C Fan/Gas 2.
For the custard filling, heat the cream in a saucepan without letting it boil.
In a bowl, beat the egg yolks and caster sugar for 3-4 minutes until pale and thick. Gradually whisk the hot cream into the mixture, being careful not to let the egg yolks curdle. Pour the mixture into the cooked pastry case. Sprinkle with the allspice.
Bake for 50 minutes or until the custard is set. Remove from the oven, trim the pastry edges carefully and leave to cool.
For the ice cream, whip the cream until soft peaks form when the whisk is removed. Place the cream in a large bowl and fold in the honey and walnuts. Pour the mixture into a container and place into the freezer to set for about 15 minutes.
For the walnuts, make a syrup by heating the sugar with 100ml/3½fl oz water until the sugar is dissolved. Bring to the boil and add the walnut halves. Remove from the heat and set aside to cool.
Drain the walnuts and discard the syrup. In a deep frying pan or sauté pan, heat a little rapeseed oil until hot. Shallow fry the walnuts until crisp (approximately 30 seconds), then drain on kitchen paper.
Paint a stripe of caramel on the serving plates and top with a slice of the custard tart. Add a spoonful of walnut ice cream. Garnish with candied sugared walnuts and lemon balm.


Browser Reporting v
navigator.appVersion: false
isKnownDevice: false
isCordovaApp: false
isstate: none yet
Not Loaded
Not Loaded
JQuery Reporting
Not Loaded
Phonegap Reporting
No Phonegap found.
Reference
QuirkMode's Mobile tests
- Screen Size tests
- http://www.quirksmode.org/m/tests/widthtest.html
- test of media queries
- http://www.quirksmode.org/m/tests/mediaqueries.html
Created by Jesus Monroy, Jr. © 2015


Don’t throw out Halloween candy wrappers, take them to London Drugs
London Drugs will recycle candy wrappers as part of Other Flexible Plastic Packaging program
by Victoria News StaffNot sure how to recycle your Halloween candy wrappers? Well look no further than London Drugs.
This is the second year London Drugs will accept chocolate bar and candy wrappers, chip bags and zipper lock pouches as part of its Other Flexible Plastic Packaging collection program.
READ ALSO: How to have an eek-o-friendly Halloween: buy bulk candy and get creative
The initiative, in partnership with Recycle B.C., helps people recycle stand-up and zipper lock pouches, such as those for granola and frozen berries, along with plastic seal, bubble wrap, plastic envelopes and net bags.
READ ALSO: The nutritionists’ case for not setting limits on Halloween candy
The collected material is moved up the pollution prevention hierarchy to be produced into engineered fuel, a replacement for coal industrial settings.
Last year London Drugs diverted over 12,000,000 pounds of material from landfills reaching a waste diversion rate of 93.5 per cent.


This is basic card with image on top, title,
description and button.
Anthony Elder
This is basic card with image on top, title, description
and button.This is basic card with image on top, title,
description and button.This is basic card with image on
top, title, description and button.
Anthony Elder
This is basic card with image on top, title,
description and button.
Anthony Elder
This is basic card with image on top, title, description
and button.This is basic card with image on top, title,
description and button.This is basic card with image on
top, title, description and button.
What are you waiting for? Make an appointment already!


Using Qt Designer¶
Qt Designer is the Qt tool for designing and building graphical user interfaces. It allows you to design widgets, dialogs or complete main windows using on-screen forms and a simple drag-and-drop interface. It has the ability to preview your designs to ensure they work as you intended, and to allow you to prototype them with your users, before you have to write any code.
Qt Designer uses XML .ui
files to store designs and does not generate any
code itself. Qt includes the uic
utility that generates the C++ code that
creates the user interface. Qt also includes the QUiLoader
class that
allows an application to load a .ui
file and to create the corresponding
user interface dynamically.
PyQt5 does not wrap the QUiLoader
class but instead includes the
uic
Python module. Like QUiLoader
this module can load
.ui
files to create a user interface dynamically. Like the uic
utility it can also generate the Python code that will create the user
interface. PyQt5’s pyuic5 utility is a command line interface to
the uic
module. Both are described in detail in the
following sections.
Using the Generated Code¶
The code that is generated has an identical structure to that generated by Qt’s
uic
and can be used in the same way.
The code is structured as a single class that is derived from the Python
object
type. The name of the class is the name of the toplevel object set
in Designer with Ui_
prepended. (In the C++ version the class is defined
in the Ui
namespace.) We refer to this class as the form class.
The class contains a method called setupUi()
. This takes a single argument
which is the widget in which the user interface is created. The type of this
argument (typically QDialog
,
QWidget
or
QMainWindow
) is set in Designer. We refer to
this type as the Qt base class.
In the following examples we assume that a .ui
file has been created
containing a dialog and the name of the QDialog
object is ImageDialog
. We also assume that the name of the file containing
the generated Python code is ui_imagedialog.py
. The generated code can
then be used in a number of ways.
The first example shows the direct approach where we simply create a simple application to create the dialog:
import sys
from PyQt5.QtWidgets import QApplication, QDialog
from ui_imagedialog import Ui_ImageDialog
app = QApplication(sys.argv)
window = QDialog()
ui = Ui_ImageDialog()
ui.setupUi(window)
window.show()
sys.exit(app.exec_())
The second example shows the single inheritance approach where we sub-class
QDialog
and set up the user interface in the
__init__()
method:
from PyQt5.QtWidgets import QDialog
from ui_imagedialog import Ui_ImageDialog
class ImageDialog(QDialog):
def __init__(self):
super(ImageDialog, self).__init__()
# Set up the user interface from Designer.
self.ui = Ui_ImageDialog()
self.ui.setupUi(self)
# Make some local modifications.
self.ui.colorDepthCombo.addItem("2 colors (1 bit per pixel)")
# Connect up the buttons.
self.ui.okButton.clicked.connect(self.accept)
self.ui.cancelButton.clicked.connect(self.reject)
The final example shows the multiple inheritance approach:
from PyQt5.QtGui import QDialog
from ui_imagedialog import Ui_ImageDialog
class ImageDialog(QDialog, Ui_ImageDialog):
def __init__(self):
super(ImageDialog, self).__init__()
# Set up the user interface from Designer.
self.setupUi(self)
# Make some local modifications.
self.colorDepthCombo.addItem("2 colors (1 bit per pixel)")
# Connect up the buttons.
self.okButton.clicked.connect(self.accept)
self.cancelButton.clicked.connect(self.reject)
For a full description see the Qt Designer Manual in the Qt Documentation.
The uic
Module¶
The uic
module contains the following functions and objects.
-
PyQt5.uic.
widgetPluginPath
¶ The list of the directories that are searched for widget plugins. Initially it contains the name of the directory that contains the widget plugins included with PyQt5.
-
PyQt5.uic.
compileUi
(uifile, pyfile[, execute=False[, indent=4[, from_imports=False[, resource_suffix='_rc'[, import_from='.']]]]])¶ Generate a Python module that will create a user interface from a Qt Designer
.ui
file.Parameters: - uifile – the file name or file-like object containing the
.ui
file. - pyfile – the file-like object to which the generated Python code will be written to.
- execute – is optionally set if a small amount of additional code is to be generated that will display the user interface if the code is run as a standalone application.
- indent – the optional number of spaces used for indentation in the generated code. If it is zero then a tab character is used instead.
- from_imports – is optionally set to generate relative import statements. At the moment this only applies to the import of resource modules.
- import_from – is optionally set to the package used for relative import statements.
The default is
'.'
.
Resource_suffix: is the suffix appended to the basename of any resource file specified in the
.ui
file to create the name of the Python module generated from the resource file bypyrcc5
. The default is'_rc'
, i.e. if the.ui
file specified a resource file calledfoo.qrc
then the corresponding Python module isfoo_rc
.- uifile – the file name or file-like object containing the
-
PyQt5.uic.
compileUiDir
(dir[, recurse=False[, map=None[, **compileUi_args]]])¶ Create Python modules from Qt Designer
.ui
files in a directory or directory tree.Parameters: - dir – the name of the directory to scan for files whose name ends with
.ui
. By default the generated Python module is created in the same directory ending with.py
. - recurse – is optionally set if any sub-directories should be scanned.
- map – an optional callable that is passed the name of the directory
containing the
.ui
file and the name of the Python module that will be created. The callable should return a tuple of the name of the directory in which the Python module will be created and the (possibly modified) name of the module. - compileUi_args – are any additional keyword arguments that are passed to
compileUi()
that is called to create each Python module.
- dir – the name of the directory to scan for files whose name ends with
-
PyQt5.uic.
loadUiType
(uifile[, from_imports=False[, resource_suffix='_rc'[, import_from='.']]])¶ Load a Qt Designer
.ui
file and return a tuple of the generated form class and the Qt base class. These can then be used to create any number of instances of the user interface without having to parse the.ui
file more than once.Parameters: - uifile – the file name or file-like object containing the
.ui
file. - from_imports – is optionally set to generate relative import statements. At the moment this only applies to the import of resource modules.
- import_from – is optionally set to the package used for relative import statements.
The default is
'.'
.
Resource_suffix: is the suffix appended to the basename of any resource file specified in the
.ui
file to create the name of the Python module generated from the resource file bypyrcc5
. The default is'_rc'
, i.e. if the.ui
file specified a resource file calledfoo.qrc
then the corresponding Python module isfoo_rc
.Return type: the form class and the Qt base class.
- uifile – the file name or file-like object containing the
-
PyQt5.uic.
loadUi
(uifile[, baseinstance=None[, package=''[, resource_suffix='_rc']]])¶ Load a Qt Designer
.ui
file and returns an instance of the user interface.Parameters: - uifile – the file name or file-like object containing the
.ui
file. - baseinstance – the optional instance of the Qt base class. If specified then the user interface is created in it. Otherwise a new instance of the base class is automatically created.
- package – the optional package that is the base package for any relative imports of custom widgets.
Resource_suffix: is the suffix appended to the basename of any resource file specified in the
.ui
file to create the name of the Python module generated from the resource file bypyrcc5
. The default is'_rc'
, i.e. if the.ui
file specified a resource file calledfoo.qrc
then the corresponding Python module isfoo_rc
.Return type: the
QWidget
sub-class that implements the user interface.- uifile – the file name or file-like object containing the
pyuic5¶
The pyuic5 utility is a command line interface to the
uic
module. The command has the following syntax:
pyuic5 [options] .ui-file
The full set of command line options is:
-
-h
,
--help
¶
A help message is written to
stdout
.
-
--version
¶
The version number is written to
stdout
.
-
-i
<N>
,
--indent
<N>
¶ The Python code is generated using an indentation of
<N>
spaces. If<N>
is 0 then a tab is used. The default is 4.
-
-o
<FILE>
,
--output
<FILE>
¶ The Python code generated is written to the file
<FILE>
.
-
-p
,
--preview
¶
The GUI is created dynamically and displayed. No Python code is generated.
-
-x
,
--execute
¶
The generated Python code includes a small amount of additional code that creates and displays the GUI when it is executes as a standalone application.
-
--import-from
<PACKAGE>
¶ New in version 5.6.
Resource modules are imported using
from <PACKAGE> import ...
rather than a simpleimport ...
.
-
--from-imports
¶
This is the equivalent of specifying
--import-from .
.
-
--resource-suffix
<SUFFIX>
¶ The suffix
<SUFFIX>
is appended to the basename of any resource file specified in the.ui
file to create the name of the Python module generated from the resource file by pyrcc5. The default is_rc
. For example if the.ui
file specified a resource file calledfoo.qrc
then the corresponding Python module isfoo_rc
.
Note that code generated by pyuic5 is not guaranteed to be
compatible with earlier versions of PyQt5. However, it is guaranteed to be
compatible with later versions. If you have no control over the version of
PyQt5 the users of your application are using then you should run
pyuic5, or call compileUi()
, as part of your
installation process. Another alternative would be to distribute the .ui
files (perhaps as part of a resource file) and have your application load them
dynamically.
Writing Qt Designer Plugins¶
Qt Designer can be extended by writing plugins. Normally this is done using C++ but PyQt5 also allows you to write plugins in Python. Most of the time a plugin is used to expose a custom widget to Designer so that it appears in Designer’s widget box just like any other widget. It is possibe to change the widget’s properties and to connect its signals and slots.
It is also possible to add new functionality to Designer. See the Qt documentation for the full details. Here we will concentrate on describing how to write custom widgets in Python.
The process of integrating Python custom widgets with Designer is very similar to that used with widget written using C++. However, there are particular issues that have to be addressed.
- Designer needs to have a C++ plugin that conforms to the interface defined by
the
QDesignerCustomWidgetInterface
class. (If the plugin exposes more than one custom widget then it must conform to the interface defined by theQDesignerCustomWidgetCollectionInterface
class.) In addition the plugin class must sub-classQObject
as well as the interface class. PyQt5 does not allow Python classes to be sub-classed from more than one Qt class. - Designer can only connect Qt signals and slots. It has no understanding of Python signals or callables.
- Designer can only edit Qt properties that represent C++ types. It has no understanding of Python attributes or Python types.
PyQt5 provides the following components and features to resolve these issues as simply as possible.
PyQt5’s QtDesigner module includes additional classes (all of which have a
QPy
prefix) that are already sub-classed from the necessary Qt classes. This avoids the need to sub-class from more than one Qt class in Python. For example, where a C++ custom widget plugin would sub-class fromQObject
andQDesignerCustomWidgetInterface
, a Python custom widget plugin would instead sub-class fromQPyDesignerCustomWidgetPlugin
.PyQt5 installs a C++ plugin in Designer’s plugin directory. It conforms to the interface defined by the
QDesignerCustomWidgetCollectionInterface
class. It searches a configurable set of directories looking for Python plugins that implement a class sub-classed fromQPyDesignerCustomWidgetPlugin
. Each class that is found is instantiated and the instance created is added to the custom widget collection.The
PYQTDESIGNERPATH
environment variable specifies the set of directories to search for plugins. Directory names are separated by a path separator (a semi-colon on Windows and a colon on other platforms). If a directory name is empty (ie. there are consecutive path separators or a leading or trailing path separator) then a set of default directories is automatically inserted at that point. The default directories are thepython
subdirectory of each directory that Designer searches for its own plugins. If the environment variable is not set then only the default directories are searched. If a file’s basename does not end withplugin
then it is ignored.A Python custom widget may define new Qt signals using
pyqtSignal()
.A Python method may be defined as a new Qt slot by using the
pyqtSlot()
decorator.A new Qt property may be defined using the
pyqtProperty()
function.
Note that the ability to define new Qt signals, slots and properties from Python is potentially useful to plugins conforming to any plugin interface and not just that used by Designer.
For a simple but complete and fully documented example of a custom widget that
defines new Qt signals, slots and properties, and its plugin, look in the
examples/designer/plugins
directory of the PyQt5 source package. The
widgets
subdirectory contains the pydemo.py
custom widget and
the python
subdirectory contains its pydemoplugin.py
plugin.