=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== oca-core-11.0.20191007/odoo/models.py-4346- # An instance represents an ordered collection of records in a given oca-core-11.0.20191007/odoo/models.py:4347: # execution environment. The instance object refers to the environment, and oca-core-11.0.20191007/odoo/models.py-4348- # the records themselves are represented by their cache dictionary. The 'id' ############################################## oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py-328- def render_template(self, template_txt, model, res_ids, post_process=False): oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py:329: """ Render the given template text, replace mako expressions ``${expr}`` oca-core-11.0.20191007/odoo/addons/mail/models/mail_template.py-330- with the result of evaluating these expressions with an evaluation ############################################## oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py-30- if self.env.user.email: oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py:31: return formataddr((self.env.user.name, self.env.user.email)) oca-core-11.0.20191007/odoo/addons/mail/models/mail_message.py-32- raise UserError(_("Unable to send email, please configure the sender's email address.")) ############################################## oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py-188- if partner: oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py:189: email_to = [formataddr((partner.name or 'False', partner.email or 'False'))] oca-core-11.0.20191007/odoo/addons/mail/models/mail_mail.py-190- else: ############################################## oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py-790- email_addr = aliases[res_id] oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py:791: res[res_id] = formataddr((email_name, email_addr)) oca-core-11.0.20191007/odoo/addons/mail/models/mail_thread.py-792- left_ids = set(res_ids).difference(set(aliases)) ############################################## oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py-235- return { oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py:236: 'email_to': ','.join(formataddr((partner.name, partner.email)) for partner in self.env['res.partner'].sudo().browse(recipient_ids)), oca-core-11.0.20191007/odoo/addons/mail/models/mail_channel.py-237- 'recipient_ids': [], ############################################## oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-128- set(email['email_to']), oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py:129: set([formataddr((self.user_employee.name, self.user_employee.email)), formataddr((self.user_portal.name, self.user_portal.email))])) oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-130- ############################################## oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py-141- email['email_to'][0], oca-core-11.0.20191007/odoo/addons/mail/tests/test_mail_channel.py:142: [formataddr((self.user_employee.name, self.user_employee.email)), formataddr((self.user_portal.name, self.user_portal.email))]) ############################################## oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-63-Object: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:64: - this.``$target``: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-65- block html inserted inside the page oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:66: - this.``$el``: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-67- html li list of this options oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:68: - this.``$overlay``: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-69- html editor overlay who content resize bar, customize menu... ############################################## oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-101- oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:102: - ``check_class(type, className, $li)``: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-103- li must have data-check_class="a_classname_for_test" to call this method. This method oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-104- toggle the className on $target oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst:105: - ``selectClass(type, className, $li)``: oca-core-11.0.20191007/odoo/addons/website/doc/website.snippet.rst-106- This method remove all other selectClass value (for this option) and add this current ClassName ############################################## oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js-251- * instance of this animation on page load for each DOM element which oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js:252: * matches this selector. The `Animation.$target` element will then be that oca-core-11.0.20191007/odoo/addons/website/static/src/js/content/snippets.animation.js-253- * particular DOM element. This should be the main way of instantiating ############################################## oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py-101- By default, tries to get a method on itself with a name matching the oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py:102: pattern ``_$fromtype_to_$field.type`` and returns it. oca-core-11.0.20191007/odoo/addons/base/ir/ir_fields.py-103- ############################################## oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-108- """ oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:109: def encode_addr(addr): oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-110- name, email = addr ############################################## oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-125- try: oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:126: return formataddr((name, email)) oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-127- except UnicodeEncodeError: ############################################## oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-132- addresses = getaddresses([pycompat.to_native(ustr(header_text))]) oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py:133: return COMMASPACE.join(a for a in (encode_addr(addr) for addr in addresses) if a) oca-core-11.0.20191007/odoo/addons/base/ir/ir_mail_server.py-134- ############################################## oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py-375- for partner in self: oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py:376: partner.email_formatted = formataddr((partner.name or u"False", partner.email or u"False")) oca-core-11.0.20191007/odoo/addons/base/res/res_partner.py-377- ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-52- oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:53: ``.oe_list_field_$type`` oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-54- oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:55: Additional class for the precise type of the cell, ``$type`` oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-56- is the field's @widget if there is one, otherwise it's the ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-334-will be forwarded to a method ``keyup_EVENTNAME``, where ``EVENTNAME`` oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst:335:is the name of the key in ``$.ui.keyCode``. oca-core-11.0.20191007/odoo/addons/web/doc/list_view.rst-336- ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-64-takes over, the template is rendered, inserted in the client DOM, oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:65:bound on the object's ``$el`` property and the object is started. oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-66- ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-85- :js:func:`~openerp.web.Widget.start()` executes any asynchronous oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:86: code it should return a ``$.Deferred`` so callers know when it's oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-87- ready for interaction. ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-100-The client action can then behave exactly as it wishes to within its oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst:101:root (``this.$el``). In this case, it performs further renderings once oca-core-11.0.20191007/odoo/addons/web/doc/client_action.rst-102-its widget's content is retrieved:: ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-32- return nothing by fetching ``null`` (which can easily be done by oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst:33: returning ``$.when(null)``, which simply wraps the ``null`` in a oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-34- Deferred). ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-490- now standard widgets, with the "right" behaviors (they don't rebind oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst:491: their ``$element`` in ``start()``) oca-core-11.0.20191007/odoo/addons/web/doc/search_view.rst-492- ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-33-* Form *will* render buttons and a pager, offers options to locate oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:34: both outside of form itself (``$buttons`` and ``$pager``), providing oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:35: empty jquery objects (``$()``) seems to stop displaying both but not oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-36- sure if there are deleterious side-effects. ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-39- oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst:40: * Pass in ``$(document.createDocumentFragment)`` to ensure it's a oca-core-11.0.20191007/odoo/addons/web/doc/form_view.rst-41- DOM-compatible tree completely outside of the actual DOM. ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/module.rst-58-automatically made available to web browser at the URL oca-core-11.0.20191007/odoo/addons/web/doc/module.rst:59:``$module-name/static/$file-path``. This is sufficient to provide oca-core-11.0.20191007/odoo/addons/web/doc/module.rst-60-pictures (of cats, usually) through your module. However there are ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-39-example in OpenERP is dashboards), queries should be restricted to a oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst:40:given component's scope. Unfiltered selections such as ``$(selector)`` oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-41-or ``document.querySelectorAll(selector)`` will generally lead to ############################################## oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-44-OpenERP Web's :js:class:`~openerp.web.Widget` has an attribute oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst:45:providing its DOM root :js:attr:`Widget.$el <openerp.web.Widget.$el>`, oca-core-11.0.20191007/odoo/addons/web/doc/guidelines.rst-46-and a shortcut to select nodes directly :js:attr:`Widget.$ ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/es5-shim/es5-shim.min.js:1:(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5",definition)}else{definition()}})(function(){function Empty(){}if(!Function.prototype.bind){Function.prototype.bind=function bind(that){var target=this;if(typeof target!="function"){throw new TypeError("Function.prototype.bind called on incompatible "+target)}var args=_Array_slice_.call(arguments,1);var bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(_Array_slice_.call(arguments)));if(Object(result)===result){return result}return this}else{return target.apply(that,args.concat(_Array_slice_.call(arguments)))}};if(target.prototype){Empty.prototype=target.prototype;bound.prototype=new Empty;Empty.prototype=null}return bound}}var call=Function.prototype.call;var prototypeOfArray=Array.prototype;var prototypeOfObject=Object.prototype;var _Array_slice_=prototypeOfArray.slice;var _toString=call.bind(prototypeOfObject.toString);var owns=call.bind(prototypeOfObject.hasOwnProperty);var defineGetter;var defineSetter;var lookupGetter;var lookupSetter;var supportsAccessors;if(supportsAccessors=owns(prototypeOfObject,"__defineGetter__")){defineGetter=call.bind(prototypeOfObject.__defineGetter__);defineSetter=call.bind(prototypeOfObject.__defineSetter__);lookupGetter=call.bind(prototypeOfObject.__lookupGetter__);lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)}if([1,2].splice(0).length!=2){var array_splice=Array.prototype.splice;if(function(){function makeArray(l){var a=[];while(l--){a.unshift(l)}return a}var array=[],lengthBefore;array.splice.bind(array,0,0).apply(null,makeArray(20));array.splice.bind(array,0,0).apply(null,makeArray(26));lengthBefore=array.length;array.splice(5,0,"XXX");if(lengthBefore+1==array.length){return true}}()){Array.prototype.splice=function(start,deleteCount){if(!arguments.length){return[]}else{return array_splice.apply(this,[start===void 0?0:start,deleteCount===void 0?this.length-start:deleteCount].concat(_Array_slice_.call(arguments,2)))}}}else{Array.prototype.splice=function(start,deleteCount){var result,args=_Array_slice_.call(arguments,2),addElementsCount=args.length;if(!arguments.length){return[]}if(start===void 0){start=0}if(deleteCount===void 0){deleteCount=this.length-start}if(addElementsCount>0){if(deleteCount<=0){if(start==this.length){this.push.apply(this,args);return[]}if(start==0){this.unshift.apply(this,args);return[]}}result=_Array_slice_.call(this,start,start+deleteCount);args.push.apply(args,_Array_slice_.call(this,start+deleteCount,this.length));args.unshift.apply(args,_Array_slice_.call(this,0,start));args.unshift(0,this.length);array_splice.apply(this,args);return result}return array_splice.call(this,start,deleteCount)}}}if([].unshift(0)!=1){var array_unshift=Array.prototype.unshift;Array.prototype.unshift=function(){array_unshift.apply(this,arguments);return this.length}}if(!Array.isArray){Array.isArray=function isArray(obj){return _toString(obj)=="[object Array]"}}var boxedString=Object("a"),splitString=boxedString[0]!="a"||!(0 in boxedString);if(!Array.prototype.forEach){Array.prototype.forEach=function forEach(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError}while(++i<length){if(i in self){fun.call(thisp,self[i],i,object)}}}}if(!Array.prototype.map){Array.prototype.map=function map(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self)result[i]=fun.call(thisp,self[i],i,object)}return result}}if(!Array.prototype.filter){Array.prototype.filter=function filter(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,result=[],value,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self){value=self[i];if(fun.call(thisp,value,i,object)){result.push(value)}}}return result}}if(!Array.prototype.every){Array.prototype.every=function every(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self&&!fun.call(thisp,self[i],i,object)){return false}}return true}}if(!Array.prototype.some){Array.prototype.some=function some(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i<length;i++){if(i in self&&fun.call(thisp,self[i],i,object)){return true}}return false}}if(!Array.prototype.reduce){Array.prototype.reduce=function reduce(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduce of empty array with no initial value")}var i=0;var result;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i++];break}if(++i>=length){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i<length;i++){if(i in self){result=fun.call(void 0,result,self[i],i,object)}}return result}}if(!Array.prototype.reduceRight){Array.prototype.reduceRight=function reduceRight(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduceRight of empty array with no initial value")}var result,i=length-1;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i--];break}if(--i<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(i<0){return result}do{if(i in this){result=fun.call(void 0,result,self[i],i,object)}}while(i--);return result}}if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1){Array.prototype.indexOf=function indexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=0;if(arguments.length>1){i=toInteger(arguments[1])}i=i>=0?i:Math.max(0,length+i);for(;i<length;i++){if(i in self&&self[i]===sought){return i}}return-1}}if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1){Array.prototype.lastIndexOf=function lastIndexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=length-1;if(arguments.length>1){i=Math.min(i,toInteger(arguments[1]))}i=i>=0?i:length-Math.abs(i);for(;i>=0;i--){if(i in self&&sought===self[i]){return i}}return-1}}if(!Object.keys){var hasDontEnumBug=true,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null}){hasDontEnumBug=false}Object.keys=function keys(object){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError("Object.keys called on a non-object")}var keys=[];for(var name in object){if(owns(object,name)){keys.push(name)}}if(hasDontEnumBug){for(var i=0,ii=dontEnumsLength;i<ii;i++){var dontEnum=dontEnums[i];if(owns(object,dontEnum)){keys.push(dontEnum)}}}return keys}}var negativeDate=-621987552e5,negativeYearString="-000001";if(!Date.prototype.toISOString||new Date(negativeDate).toISOString().indexOf(negativeYearString)===-1){Date.prototype.toISOString=function toISOString(){var result,length,value,year,month;if(!isFinite(this)){throw new RangeError("Date.prototype.toISOString called on non-finite value.")}year=this.getUTCFullYear();month=this.getUTCMonth();year+=Math.floor(month/12);month=(month%12+12)%12;result=[month+1,this.getUTCDate(),this.getUTCHours(),this.getUTCMinutes(),this.getUTCSeconds()];year=(year<0?"-":year>9999?"+":"")+("00000"+Math.abs(year)).slice(0<=year&&year<=9999?-4:-6);length=result.length;while(length--){value=result[length];if(value<10){result[length]="0"+value}}return year+"-"+result.slice(0,2).join("-")+"T"+result.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"}}var dateToJSONIsSupported=false;try{dateToJSONIsSupported=Date.prototype.toJSON&&new Date(NaN).toJSON()===null&&new Date(negativeDate).toJSON().indexOf(negativeYearString)!==-1&&Date.prototype.toJSON.call({toISOString:function(){return true}})}catch(e){}if(!dateToJSONIsSupported){Date.prototype.toJSON=function toJSON(key){var o=Object(this),tv=toPrimitive(o),toISO;if(typeof tv==="number"&&!isFinite(tv)){return null}toISO=o.toISOString;if(typeof toISO!="function"){throw new TypeError("toISOString property is not callable")}return toISO.call(o)}}if(!Date.parse||"Date.parse is buggy"){Date=function(NativeDate){function Date(Y,M,D,h,m,s,ms){var length=arguments.length;if(this instanceof NativeDate){var date=length==1&&String(Y)===Y?new NativeDate(Date.parse(Y)):length>=7?new NativeDate(Y,M,D,h,m,s,ms):length>=6?new NativeDate(Y,M,D,h,m,s):length>=5?new NativeDate(Y,M,D,h,m):length>=4?new NativeDate(Y,M,D,h):length>=3?new NativeDate(Y,M,D):length>=2?new NativeDate(Y,M):length>=1?new NativeDate(Y):new NativeDate;date.constructor=Date;return date}return NativeDate.apply(this,arguments)}var isoDateExpression=new RegExp("^"+"(\\d{4}|[+-]\\d{6})"+"(?:-(\\d{2})"+"(?:-(\\d{2})"+"(?:"+"T(\\d{2})"+":(\\d{2})"+"(?:"+":(\\d{2})"+"(?:(\\.\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\d{2})"+":(\\d{2})"+")"+")?)?)?)?"+"$");var months=[0,31,59,90,120,151,181,212,243,273,304,334,365];function dayFromMonth(year,month){var t=month>1?1:0;return months[month]+Math.floor((year-1969+t)/4)-Math.floor((year-1901+t)/100)+Math.floor((year-1601+t)/400)+365*(year-1970)}for(var key in NativeDate){Date[key]=NativeDate[key]}Date.now=NativeDate.now;Date.UTC=NativeDate.UTC;Date.prototype=NativeDate.prototype;Date.prototype.constructor=Date;Date.parse=function parse(string){var match=isoDateExpression.exec(string);if(match){var year=Number(match[1]),month=Number(match[2]||1)-1,day=Number(match[3]||1)-1,hour=Number(match[4]||0),minute=Number(match[5]||0),second=Number(match[6]||0),millisecond=Math.floor(Number(match[7]||0)*1e3),offset=!match[4]||match[8]?0:Number(new NativeDate(1970,0)),signOffset=match[9]==="-"?1:-1,hourOffset=Number(match[10]||0),minuteOffset=Number(match[11]||0),result;if(hour<(minute>0||second>0||millisecond>0?24:25)&&minute<60&&second<60&&millisecond<1e3&&month>-1&&month<12&&hourOffset<24&&minuteOffset<60&&day>-1&&day<dayFromMonth(year,month+1)-dayFromMonth(year,month)){result=((dayFromMonth(year,month)+day)*24+hour+hourOffset*signOffset)*60;result=((result+minute+minuteOffset*signOffset)*60+second)*1e3+millisecond+offset;if(-864e13<=result&&result<=864e13){return result}}return NaN}return NativeDate.parse.apply(this,arguments)};return Date}(Date)}if(!Date.now){Date.now=function now(){return(new Date).getTime()}}if(!Number.prototype.toFixed||8e-5.toFixed(3)!=="0.000"||.9.toFixed(0)==="0"||1.255.toFixed(2)!=="1.25"||0xde0b6b3a7640080.toFixed(0)!=="1000000000000000128"){(function(){var base,size,data,i;base=1e7;size=6;data=[0,0,0,0,0,0];function multiply(n,c){var i=-1;while(++i<size){c+=n*data[i];data[i]=c%base;c=Math.floor(c/base)}}function divide(n){var i=size,c=0;while(--i>=0){c+=data[i];data[i]=Math.floor(c/n);c=c%n*base}}function toString(){var i=size;var s="";while(--i>=0){if(s!==""||i===0||data[i]!==0){var t=String(data[i]);if(s===""){s=t}else{s+="0000000".slice(0,7-t.length)+t}}}return s}function pow(x,n,acc){return n===0?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)}function log(x){var n=0;while(x>=4096){n+=12;x/=4096}while(x>=2){n+=1;x/=2}return n}Number.prototype.toFixed=function(fractionDigits){var f,x,s,m,e,z,j,k;f=Number(fractionDigits);f=f!==f?0:Math.floor(f);if(f<0||f>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}x=Number(this);if(x!==x){return"NaN"}if(x<=-1e21||x>=1e21){return String(x)}s="";if(x<0){s="-";x=-x}m="0";if(x>1e-21){e=log(x*pow(2,69,1))-69;z=e<0?x*pow(2,-e,1):x/pow(2,e,1);z*=4503599627370496;e=52-e;if(e>0){multiply(0,z);j=f;while(j>=7){multiply(1e7,0);j-=7}multiply(pow(10,j,1),0);j=e-1;while(j>=23){divide(1<<23);j-=23}divide(1<<j);multiply(1,1);divide(2);m=toString()}else{multiply(0,z);multiply(1<<-e,0);m=toString()+"0.00000000000000000000".slice(2,2+f)}}if(f>0){k=m.length;if(k<=f){m=s+"0.0000000000000000000".slice(0,f-k+2)+m}else{m=s+m.slice(0,k-f)+"."+m.slice(k-f)}}else{m=s+m}return m}})()}var string_split=String.prototype.split;if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"".split(/.?/).length===0||".".split(/()()/).length>1){(function(){var compliantExecNpcg=/()??/.exec("")[1]===void 0;String.prototype.split=function(separator,limit){var string=this;if(separator===void 0&&limit===0)return[];if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return string_split.apply(this,arguments)}var output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.extended?"x":"")+(separator.sticky?"y":""),lastLastIndex=0,separator=new RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;string+="";if(!compliantExecNpcg){separator2=new RegExp("^"+separator.source+"$(?!\\s)",flags)}limit=limit===void 0?-1>>>0:limit>>>0;while(match=separator.exec(string)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(string.slice(lastLastIndex,match.index));if(!compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i<arguments.length-2;i++){if(arguments[i]===void 0){match[i]=void 0}}})}if(match.length>1&&match.index<string.length){Array.prototype.push.apply(output,match.slice(1))}lastLength=match[0].length;lastLastIndex=lastIndex;if(output.length>=limit){break}}if(separator.lastIndex===match.index){separator.lastIndex++}}if(lastLastIndex===string.length){if(lastLength||!separator.test("")){output.push("")}}else{output.push(string.slice(lastLastIndex))}return output.length>limit?output.slice(0,limit):output}})()}else if("0".split(void 0,0).length){String.prototype.split=function(separator,limit){if(separator===void 0&&limit===0)return[];return string_split.apply(this,arguments)}}if("".substr&&"0b".substr(-1)!=="b"){var string_substr=String.prototype.substr;String.prototype.substr=function(start,length){return string_substr.call(this,start<0?(start=this.length+start)<0?0:start:start,length)}}var ws=" \n\f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003"+"\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028"+"\u2029\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=new RegExp("^"+ws+ws+"*"),trimEndRegexp=new RegExp(ws+ws+"*$");String.prototype.trim=function trim(){if(this===void 0||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}function toInteger(n){n=+n;if(n!==n){n=0}else if(n!==0&&n!==1/0&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}return n}function isPrimitive(input){var type=typeof input;return input===null||type==="undefined"||type==="boolean"||type==="number"||type==="string"}function toPrimitive(input){var val,valueOf,toString;if(isPrimitive(input)){return input}valueOf=input.valueOf;if(typeof valueOf==="function"){val=valueOf.call(input);if(isPrimitive(val)){return val}}toString=input.toString;if(typeof toString==="function"){val=toString.call(input);if(isPrimitive(val)){return val}}throw new TypeError}var toObject=function(o){if(o==null){throw new TypeError("can't convert "+o+" to object")}return Object(o)}}); oca-core-11.0.20191007/odoo/addons/web/static/lib/es5-shim/es5-shim.min.js-2-/* ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-105- $input = $input.hide().next().show().attr('id', $input.removeAttr('id').data('placeholder-id')); oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:106: // If `clearPlaceholder` was called from `$.valHooks.input.set` oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-107- if (event === true) { ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-147- $input = $input.removeAttr('id').hide().prev().attr('id', id).show(); oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js:148: // Note: `$input[0] != input` now! oca-core-11.0.20191007/odoo/addons/web/static/lib/jquery.placeholder/jquery.placeholder.js-149- } ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js-36- future : function (output) { oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js:37: var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран'; oca-core-11.0.20191007/odoo/addons/web/static/lib/moment/locale/cv.js-38- return output + affix; ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js-1086- // Ensure that the View has a DOM element to render into. oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js:1087: // If `this.el` is a string, pass it through `$()`, take the first oca-core-11.0.20191007/odoo/addons/web/static/lib/backbone/backbone.js-1088- // matching element, and re-assign it to `el`. Otherwise, create ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2116- if (!s || !s.command) continue; oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js:2117: s.command == "null" ? o = !0 : o = u.exec(s.command, this.$editor, s.args, r), o && r && e != -1 && s.passEvent != 1 && s.command.passEvent != 1 && i.stopEvent(r); oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2118- if (o) break ############################################## oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2125- var t = this.$callKeyboardHandlers(-1, e); oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js:2126: t || this.$editor.commands.exec("insertstring", this.$editor, e) oca-core-11.0.20191007/odoo/addons/web/static/lib/ace/ace.odoo-custom.js-2127- } ############################################## oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js-14- * oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js:15: * ``$footer`` oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/dialog.js-16- * A jQuery element targeting a dom part where buttons can be added. It ############################################## oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-32- * start: function() { oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js:33: * // stuff you want to make after the rendering, `this.$el` holds a correct value oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-34- * this.$(".my_button").click(/* an example of event binding * /); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-337- /** oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js:338: * Shortcut for ``this.$el.find(selector)`` oca-core-11.0.20191007/odoo/addons/web/static/src/js/core/widget.js-339- * ############################################## oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js-99- /** oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js:100: * Allows to bind events to a handler just as the standard `$.on` function oca-core-11.0.20191007/odoo/addons/web/static/src/js/libs/jquery.js-101- * but binds the handler so that it is executed before any already-attached ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2766- oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:2767: var dollarValues = list.$('td').filter(function () {return _.str.include($(this).text(), '$');}); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2768- assert.strictEqual(dollarValues.length, 1, ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2770- oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:2771: var euroValues = list.$('td').filter(function () {return _.str.include($(this).text(), '€');}); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-2772- assert.strictEqual(euroValues.length, 1, ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4304- '10%', "should have 10% as pie value since int_field=10"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4305: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4306- 'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4307: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4308- 'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4315- '10%', "should have 10% as pie value since int_field=10"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4316: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4317- 'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4318: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4319- 'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4326- '10%', "should have 10% as pie value since int_field=10"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4327: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4328- 'transform: rotate(180deg);'), "left mask should be covering the whole left side of the pie"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4329: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').last().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4330- 'transform: rotate(36deg);'), "right mask should be rotated from 360*(10/100) = 36 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4355- '80%', "should have 80% as pie value since int_field=80"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4356: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4357- 'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4366- '80%', "should have 80% as pie value since int_field=80"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4367: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4368- 'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4377- '80%', "should have 80% as pie value since int_field=80"); oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js:4378: assert.ok(_.str.include(form.$('.o_field_percent_pie.o_field_widget .o_pie .o_mask').first().attr('style'), oca-core-11.0.20191007/odoo/addons/web/static/tests/fields/basic_fields_tests.js-4379- 'transform: rotate(288deg);'), "left mask should be rotated from 360*(80/100) = 288 degrees"); ############################################## oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-43- if self.version == 1: oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py:44: return self._db.record_by_addr(ip) or {} oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-45- elif self.version == 2: ############################################## oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-62- # compat oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py:63: def record_by_addr(self, addr): oca-core-11.0.20191007/odoo/addons/http_routing/geoipresolver.py-64- return self.resolve(addr) ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-9- oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:10: * `$.nearest({x, y}, selector)` - find `$(selector)` closest to x/y point on screen oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:11: * `$(elem).nearest(selector)` - find `$(selector)` closest to elem oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:12: * `$(elemSet).nearest({x, y})` - filter `$(elemSet)` and return closest to x/y point on screen oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-13- ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-15- oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:16: * `$.furthest()` oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:17: * `$(elem).furthest()` oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-18- ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md-20- oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:21: * `$.touching()` oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/README.md:22: * `$(elem).touching()` ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/jquery.nearest.min.js-10- */ oca-core-11.0.20191007/odoo/addons/web_editor/static/lib/nearest/jquery.nearest.min.js:11:;(function(e,t){function r(t,r,i){t||(t="div");var s=e(r.container),o=s.offset()||{left:0,top:0},u=[o.left+s.width(),o.top+s.height()],a={x:0,y:1,w:0,h:1},f,l;for(f in a)a.hasOwnProperty(f)&&(l=n.exec(r[f]),l&&(r[f]=u[a[f]]*l[1]/100));var c=e(t),h=[],p=!!r.furthest,d=!!r.checkHoriz,v=!!r.checkVert,m=p?0:Infinity,g=parseFloat(r.x)||0,y=parseFloat(r.y)||0,b=parseFloat(g+r.w)||g,w=parseFloat(y+r.h)||y,E=r.tolerance||0,S=!!e.fn.each2,x=Math.min,T=Math.max;!r.includeSelf&&i&&(c=c.not(i)),E<0&&(E=0),c[S?"each2":"each"](function(t,n){var r=S?n:e(this),i=r.offset(),s=i.left,o=i.top,u=r.outerWidth(),a=r.outerHeight(),f=s+u,l=o+a,c=T(s,g),N=x(f,b),C=T(o,y),k=x(l,w),L=N>=c,A=k>=C,O,M,_,D;if(d&&v||!d&&!v&&L&&A||d&&A||v&&L)O=L?0:c-N,M=A?0:C-k,_=L||A?T(O,M):Math.sqrt(O*O+M*M),D=p?_>=m-E:_<=m+E,D&&(m=p?T(m,_):x(m,_),h.push({node:this,dist:_}))});var N=h.length,C=[],k,L,A,O;if(N){p?(k=m-E,L=m):(k=m,L=m+E);for(A=0;A<N;A++)O=h[A],O.dist>=k&&O.dist<=L&&C.push(O.node)}return C}var n=/^([\d.]+)%$/;e.each(["nearest","furthest","touching"],function(n,i){var s={x:0,y:0,w:0,h:0,tolerance:1,container:document,furthest:i=="furthest",includeSelf:!1,checkHoriz:i!="touching",checkVert:i!="touching"};e[i]=function(n,i,o){if(!n||n.x===t||n.y===t)return e([]);var u=e.extend({},s,n,o||{});return e(r(i,u))},e.fn[i]=function(t,n){var i;if(t&&e.isPlainObject(t))return i=e.extend({},s,t,n||{}),this.pushStack(r(this,i));var o=this.offset(),u={x:o.left,y:o.top,w:this.outerWidth(),h:this.outerHeight()};return i=e.extend({},s,u,n||{}),this.pushStack(r(t,i,this))}})})(jQuery); ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-32- /** oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:33: * The option `$el` is supposed to be the associated <li/> element in the oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-34- * options dropdown. The option controls another DOM element: the snippet it oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:35: * customizes, which can be found at `$target`. Access to the whole edition oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:36: * overlay is possible with `$overlay` (this is not recommended though). oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-37- * ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-80- * Called when the associated snippet is the result of the cloning of oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:81: * another snippet (so `this.$target` is a cloned element). oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-82- * ############################################## oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-1068- oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js:1069: var img_url = /\(['"]?([^'"]+)['"]?\)/g.exec(self.$target.css('background-image')); oca-core-11.0.20191007/odoo/addons/web_editor/static/src/js/editor/snippets.options.js-1070- img_url = (img_url && img_url[1]) || ''; ############################################## oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js-39- /** oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js:40: * Shallow-copy the owned, enumerable properties of one object over to another, similar to jQuery's `$.extend`. oca-core-11.0.20191007/odoo/addons/website_links/static/lib/zeroclipboard/ZeroClipboard.js-41- * ############################################## oca-core-11.0.20191007/odoo/tools/mail.py-500- return [] oca-core-11.0.20191007/odoo/tools/mail.py:501: return [formataddr((addr[0], addr[1])) for addr in getaddresses([text]) oca-core-11.0.20191007/odoo/tools/mail.py-502- # getaddresses() returns '' when email parsing fails, and ############################################## oca-core-11.0.20191007/odoo/tools/misc.py-512- oca-core-11.0.20191007/odoo/tools/misc.py:513:def detect_ip_addr(): oca-core-11.0.20191007/odoo/tools/misc.py-514- """Try a very crude method to figure out a valid external ############################################## oca-core-11.0.20191007/odoo/tools/misc.py-518- """ oca-core-11.0.20191007/odoo/tools/misc.py:519: def _detect_ip_addr(): oca-core-11.0.20191007/odoo/tools/misc.py-520- from array import array ############################################## oca-core-11.0.20191007/odoo/tools/misc.py-559- try: oca-core-11.0.20191007/odoo/tools/misc.py:560: ip_addr = _detect_ip_addr() oca-core-11.0.20191007/odoo/tools/misc.py-561- except Exception: ############################################## oca-core-11.0.20191007/debian/missing-sources/clipboard.js-107-function getAttributeValue(suffix, element) { oca-core-11.0.20191007/debian/missing-sources/clipboard.js:108: const attribute = `data-clipboard-${suffix}`; oca-core-11.0.20191007/debian/missing-sources/clipboard.js-109-