Version 1.2.1 of Angular-Cookies
This commit is contained in:
		
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
*.pyc
 | 
			
		||||
*.sw?
 | 
			
		||||
*.sqlite3
 | 
			
		||||
.DS_STORE
 | 
			
		||||
*.egg-info
 | 
			
		||||
.venv
 | 
			
		||||
.tox
 | 
			
		||||
build
 | 
			
		||||
dist
 | 
			
		||||
							
								
								
									
										8
									
								
								MANIFEST.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								MANIFEST.in
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
include README.txt
 | 
			
		||||
recursive-include xstatic/pkg/angular_cookies *
 | 
			
		||||
 | 
			
		||||
global-exclude *.pyc
 | 
			
		||||
global-exclude *.pyo
 | 
			
		||||
global-exclude *.orig
 | 
			
		||||
global-exclude *.rej
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										13
									
								
								README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								README.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
XStatic-Angular-Cookies
 | 
			
		||||
-----------------------
 | 
			
		||||
 | 
			
		||||
Angular-Cookies JavaScript library packaged for setuptools (easy_install) / pip.
 | 
			
		||||
 | 
			
		||||
This package is intended to be used by **any** project that needs these files.
 | 
			
		||||
 | 
			
		||||
It intentionally does **not** provide any extra code except some metadata
 | 
			
		||||
**nor** has any extra requirements. You MAY use some minimal support code from
 | 
			
		||||
the XStatic base package, if you like.
 | 
			
		||||
 | 
			
		||||
You can find more info about the xstatic packaging way in the package `XStatic`.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										27
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								setup.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
from xstatic.pkg import angular_cookies as xs
 | 
			
		||||
 | 
			
		||||
# The README.txt file should be written in reST so that PyPI can use
 | 
			
		||||
# it to generate your project's PyPI page. 
 | 
			
		||||
long_description = open('README.txt').read()
 | 
			
		||||
 | 
			
		||||
from setuptools import setup, find_packages
 | 
			
		||||
 | 
			
		||||
setup(
 | 
			
		||||
    name=xs.PACKAGE_NAME,
 | 
			
		||||
    version=xs.PACKAGE_VERSION,
 | 
			
		||||
    description=xs.DESCRIPTION,
 | 
			
		||||
    long_description=long_description,
 | 
			
		||||
    classifiers=xs.CLASSIFIERS,
 | 
			
		||||
    keywords=xs.KEYWORDS,
 | 
			
		||||
    maintainer=xs.MAINTAINER,
 | 
			
		||||
    maintainer_email=xs.MAINTAINER_EMAIL,
 | 
			
		||||
    license=xs.LICENSE,
 | 
			
		||||
    url=xs.HOMEPAGE,
 | 
			
		||||
    platforms=xs.PLATFORMS,
 | 
			
		||||
    packages=find_packages(),
 | 
			
		||||
    namespace_packages=['xstatic', 'xstatic.pkg', ],
 | 
			
		||||
    include_package_data=True,
 | 
			
		||||
    zip_safe=False,
 | 
			
		||||
    install_requires=[],  # nothing! :)
 | 
			
		||||
                          # if you like, you MAY use the 'XStatic' package.
 | 
			
		||||
)
 | 
			
		||||
							
								
								
									
										1
									
								
								xstatic/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								xstatic/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
__import__('pkg_resources').declare_namespace(__name__)
 | 
			
		||||
							
								
								
									
										1
									
								
								xstatic/pkg/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								xstatic/pkg/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
__import__('pkg_resources').declare_namespace(__name__)
 | 
			
		||||
							
								
								
									
										49
									
								
								xstatic/pkg/angular_cookies/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								xstatic/pkg/angular_cookies/__init__.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
"""
 | 
			
		||||
XStatic resource package
 | 
			
		||||
 | 
			
		||||
See package 'XStatic' for documentation and basic tools.
 | 
			
		||||
"""
 | 
			
		||||
 | 
			
		||||
DISPLAY_NAME = 'Angular-Cookies' # official name, upper/lowercase allowed, no spaces
 | 
			
		||||
PACKAGE_NAME = 'XStatic-%s' % DISPLAY_NAME # name used for PyPi
 | 
			
		||||
 | 
			
		||||
NAME = __name__.split('.')[-1] # package name (e.g. 'foo' or 'foo_bar')
 | 
			
		||||
                               # please use a all-lowercase valid python
 | 
			
		||||
                               # package name
 | 
			
		||||
 | 
			
		||||
VERSION = '1.2.1' # version of the packaged files, please use the upstream
 | 
			
		||||
                  # version number
 | 
			
		||||
BUILD = '1' # our package build number, so we can release new builds
 | 
			
		||||
             # with fixes for xstatic stuff.
 | 
			
		||||
PACKAGE_VERSION = VERSION + '.' + BUILD # version used for PyPi
 | 
			
		||||
 | 
			
		||||
DESCRIPTION = "%s %s (XStatic packaging standard)" % (DISPLAY_NAME, VERSION)
 | 
			
		||||
 | 
			
		||||
PLATFORMS = 'any'
 | 
			
		||||
CLASSIFIERS = []
 | 
			
		||||
KEYWORDS = '%s xstatic' % NAME
 | 
			
		||||
 | 
			
		||||
# XStatic-* package maintainer:
 | 
			
		||||
MAINTAINER = 'Radomir Dopieralski'
 | 
			
		||||
MAINTAINER_EMAIL = 'openstack@sheep.art.pl'
 | 
			
		||||
 | 
			
		||||
# this refers to the project homepage of the stuff we packaged:
 | 
			
		||||
HOMEPAGE = 'http://angularjs.org'
 | 
			
		||||
 | 
			
		||||
# this refers to all files:
 | 
			
		||||
LICENSE = '(same as %s)' % DISPLAY_NAME
 | 
			
		||||
 | 
			
		||||
from os.path import join, dirname
 | 
			
		||||
BASE_DIR = join(dirname(__file__), 'data')
 | 
			
		||||
# linux package maintainers just can point to their file locations like this:
 | 
			
		||||
#BASE_DIR = '/usr/share/javascript/angular_cookies'
 | 
			
		||||
 | 
			
		||||
LOCATIONS = {
 | 
			
		||||
    # CDN locations (if no public CDN exists, use an empty dict)
 | 
			
		||||
    # if value is a string, it is a base location, just append relative
 | 
			
		||||
    # path/filename. if value is a dict, do another lookup using the
 | 
			
		||||
    # relative path/filename you want.
 | 
			
		||||
    # your relative path/filenames should usually be without version
 | 
			
		||||
    # information, because either the base dir/url is exactly for this
 | 
			
		||||
    # version or the mapping will care for accessing this version.
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										202
									
								
								xstatic/pkg/angular_cookies/data/angular-cookies.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										202
									
								
								xstatic/pkg/angular_cookies/data/angular-cookies.js
									
									
									
									
										vendored
									
									
										Executable file
									
								
							@@ -0,0 +1,202 @@
 | 
			
		||||
/**
 | 
			
		||||
 * @license AngularJS v1.2.1
 | 
			
		||||
 * (c) 2010-2012 Google, Inc. http://angularjs.org
 | 
			
		||||
 * License: MIT
 | 
			
		||||
 */
 | 
			
		||||
(function(window, angular, undefined) {'use strict';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @ngdoc overview
 | 
			
		||||
 * @name ngCookies
 | 
			
		||||
 * @description
 | 
			
		||||
 *
 | 
			
		||||
 * # ngCookies
 | 
			
		||||
 *
 | 
			
		||||
 * The `ngCookies` module provides a convenient wrapper for reading and writing browser cookies. 
 | 
			
		||||
 *
 | 
			
		||||
 * {@installModule cookies}
 | 
			
		||||
 *
 | 
			
		||||
 * <div doc-module-components="ngCookies"></div>
 | 
			
		||||
 *
 | 
			
		||||
 * See {@link ngCookies.$cookies `$cookies`} and
 | 
			
		||||
 * {@link ngCookies.$cookieStore `$cookieStore`} for usage.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
angular.module('ngCookies', ['ng']).
 | 
			
		||||
  /**
 | 
			
		||||
   * @ngdoc object
 | 
			
		||||
   * @name ngCookies.$cookies
 | 
			
		||||
   * @requires $browser
 | 
			
		||||
   *
 | 
			
		||||
   * @description
 | 
			
		||||
   * Provides read/write access to browser's cookies.
 | 
			
		||||
   *
 | 
			
		||||
   * Only a simple Object is exposed and by adding or removing properties to/from
 | 
			
		||||
   * this object, new cookies are created/deleted at the end of current $eval.
 | 
			
		||||
   *
 | 
			
		||||
   * Requires the {@link ngCookies `ngCookies`} module to be installed.
 | 
			
		||||
   *
 | 
			
		||||
   * @example
 | 
			
		||||
   <doc:example>
 | 
			
		||||
     <doc:source>
 | 
			
		||||
       <script>
 | 
			
		||||
         function ExampleController($cookies) {
 | 
			
		||||
           // Retrieving a cookie
 | 
			
		||||
           var favoriteCookie = $cookies.myFavorite;
 | 
			
		||||
           // Setting a cookie
 | 
			
		||||
           $cookies.myFavorite = 'oatmeal';
 | 
			
		||||
         }
 | 
			
		||||
       </script>
 | 
			
		||||
     </doc:source>
 | 
			
		||||
   </doc:example>
 | 
			
		||||
   */
 | 
			
		||||
   factory('$cookies', ['$rootScope', '$browser', function ($rootScope, $browser) {
 | 
			
		||||
      var cookies = {},
 | 
			
		||||
          lastCookies = {},
 | 
			
		||||
          lastBrowserCookies,
 | 
			
		||||
          runEval = false,
 | 
			
		||||
          copy = angular.copy,
 | 
			
		||||
          isUndefined = angular.isUndefined;
 | 
			
		||||
 | 
			
		||||
      //creates a poller fn that copies all cookies from the $browser to service & inits the service
 | 
			
		||||
      $browser.addPollFn(function() {
 | 
			
		||||
        var currentCookies = $browser.cookies();
 | 
			
		||||
        if (lastBrowserCookies != currentCookies) { //relies on browser.cookies() impl
 | 
			
		||||
          lastBrowserCookies = currentCookies;
 | 
			
		||||
          copy(currentCookies, lastCookies);
 | 
			
		||||
          copy(currentCookies, cookies);
 | 
			
		||||
          if (runEval) $rootScope.$apply();
 | 
			
		||||
        }
 | 
			
		||||
      })();
 | 
			
		||||
 | 
			
		||||
      runEval = true;
 | 
			
		||||
 | 
			
		||||
      //at the end of each eval, push cookies
 | 
			
		||||
      //TODO: this should happen before the "delayed" watches fire, because if some cookies are not
 | 
			
		||||
      //      strings or browser refuses to store some cookies, we update the model in the push fn.
 | 
			
		||||
      $rootScope.$watch(push);
 | 
			
		||||
 | 
			
		||||
      return cookies;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
       * Pushes all the cookies from the service to the browser and verifies if all cookies were
 | 
			
		||||
       * stored.
 | 
			
		||||
       */
 | 
			
		||||
      function push() {
 | 
			
		||||
        var name,
 | 
			
		||||
            value,
 | 
			
		||||
            browserCookies,
 | 
			
		||||
            updated;
 | 
			
		||||
 | 
			
		||||
        //delete any cookies deleted in $cookies
 | 
			
		||||
        for (name in lastCookies) {
 | 
			
		||||
          if (isUndefined(cookies[name])) {
 | 
			
		||||
            $browser.cookies(name, undefined);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //update all cookies updated in $cookies
 | 
			
		||||
        for(name in cookies) {
 | 
			
		||||
          value = cookies[name];
 | 
			
		||||
          if (!angular.isString(value)) {
 | 
			
		||||
            if (angular.isDefined(lastCookies[name])) {
 | 
			
		||||
              cookies[name] = lastCookies[name];
 | 
			
		||||
            } else {
 | 
			
		||||
              delete cookies[name];
 | 
			
		||||
            }
 | 
			
		||||
          } else if (value !== lastCookies[name]) {
 | 
			
		||||
            $browser.cookies(name, value);
 | 
			
		||||
            updated = true;
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //verify what was actually stored
 | 
			
		||||
        if (updated){
 | 
			
		||||
          updated = false;
 | 
			
		||||
          browserCookies = $browser.cookies();
 | 
			
		||||
 | 
			
		||||
          for (name in cookies) {
 | 
			
		||||
            if (cookies[name] !== browserCookies[name]) {
 | 
			
		||||
              //delete or reset all cookies that the browser dropped from $cookies
 | 
			
		||||
              if (isUndefined(browserCookies[name])) {
 | 
			
		||||
                delete cookies[name];
 | 
			
		||||
              } else {
 | 
			
		||||
                cookies[name] = browserCookies[name];
 | 
			
		||||
              }
 | 
			
		||||
              updated = true;
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }]).
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
   * @ngdoc object
 | 
			
		||||
   * @name ngCookies.$cookieStore
 | 
			
		||||
   * @requires $cookies
 | 
			
		||||
   *
 | 
			
		||||
   * @description
 | 
			
		||||
   * Provides a key-value (string-object) storage, that is backed by session cookies.
 | 
			
		||||
   * Objects put or retrieved from this storage are automatically serialized or
 | 
			
		||||
   * deserialized by angular's toJson/fromJson.
 | 
			
		||||
   *
 | 
			
		||||
   * Requires the {@link ngCookies `ngCookies`} module to be installed.
 | 
			
		||||
   *
 | 
			
		||||
   * @example
 | 
			
		||||
   */
 | 
			
		||||
   factory('$cookieStore', ['$cookies', function($cookies) {
 | 
			
		||||
 | 
			
		||||
      return {
 | 
			
		||||
        /**
 | 
			
		||||
         * @ngdoc method
 | 
			
		||||
         * @name ngCookies.$cookieStore#get
 | 
			
		||||
         * @methodOf ngCookies.$cookieStore
 | 
			
		||||
         *
 | 
			
		||||
         * @description
 | 
			
		||||
         * Returns the value of given cookie key
 | 
			
		||||
         *
 | 
			
		||||
         * @param {string} key Id to use for lookup.
 | 
			
		||||
         * @returns {Object} Deserialized cookie value.
 | 
			
		||||
         */
 | 
			
		||||
        get: function(key) {
 | 
			
		||||
          var value = $cookies[key];
 | 
			
		||||
          return value ? angular.fromJson(value) : value;
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * @ngdoc method
 | 
			
		||||
         * @name ngCookies.$cookieStore#put
 | 
			
		||||
         * @methodOf ngCookies.$cookieStore
 | 
			
		||||
         *
 | 
			
		||||
         * @description
 | 
			
		||||
         * Sets a value for given cookie key
 | 
			
		||||
         *
 | 
			
		||||
         * @param {string} key Id for the `value`.
 | 
			
		||||
         * @param {Object} value Value to be stored.
 | 
			
		||||
         */
 | 
			
		||||
        put: function(key, value) {
 | 
			
		||||
          $cookies[key] = angular.toJson(value);
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * @ngdoc method
 | 
			
		||||
         * @name ngCookies.$cookieStore#remove
 | 
			
		||||
         * @methodOf ngCookies.$cookieStore
 | 
			
		||||
         *
 | 
			
		||||
         * @description
 | 
			
		||||
         * Remove given cookie
 | 
			
		||||
         *
 | 
			
		||||
         * @param {string} key Id of the key-value pair to delete.
 | 
			
		||||
         */
 | 
			
		||||
        remove: function(key) {
 | 
			
		||||
          delete $cookies[key];
 | 
			
		||||
        }
 | 
			
		||||
      };
 | 
			
		||||
 | 
			
		||||
    }]);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
})(window, window.angular);
 | 
			
		||||
		Reference in New Issue
	
	Block a user