seitime-frappe/frappe/docs/current/api/utils/frappe.utils.data.html
2015-12-04 10:22:48 +05:30

976 lines
No EOL
25 KiB
HTML

<!-- title: frappe.utils.data --><div class="dev-header">
<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
Version 6.x.x</a>
<a class="btn btn-default btn-sm" href="https://github.com/frappe/frappe/blob/develop/frappe/utils/data.py"
target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
</div>
<p class="docs-attr-name">
<a name="frappe.utils.data._get_time_zone" href="#frappe.utils.data._get_time_zone" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>_get_time_zone</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.add_days" href="#frappe.utils.data.add_days" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>add_days</b>
<i class="text-muted">(date, days)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.add_months" href="#frappe.utils.data.add_months" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>add_months</b>
<i class="text-muted">(date, months)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.add_to_date" href="#frappe.utils.data.add_to_date" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>add_to_date</b>
<i class="text-muted">(date, years=0, months=0, days=0)</i>
</p>
<div class="docs-attr-desc"><p>Adds <code>days</code> to the given date</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.add_years" href="#frappe.utils.data.add_years" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>add_years</b>
<i class="text-muted">(date, years)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.cint" href="#frappe.utils.data.cint" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>cint</b>
<i class="text-muted">(s)</i>
</p>
<div class="docs-attr-desc"><p>Convert to integer</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.comma_and" href="#frappe.utils.data.comma_and" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>comma_and</b>
<i class="text-muted">(some_list)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.comma_or" href="#frappe.utils.data.comma_or" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>comma_or</b>
<i class="text-muted">(some_list)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.comma_sep" href="#frappe.utils.data.comma_sep" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>comma_sep</b>
<i class="text-muted">(some_list, pattern)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.compare" href="#frappe.utils.data.compare" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>compare</b>
<i class="text-muted">(val1, condition, val2)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.convert_utc_to_user_timezone" href="#frappe.utils.data.convert_utc_to_user_timezone" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>convert_utc_to_user_timezone</b>
<i class="text-muted">(utc_timestamp)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.cstr" href="#frappe.utils.data.cstr" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>cstr</b>
<i class="text-muted">(s)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.date_diff" href="#frappe.utils.data.date_diff" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>date_diff</b>
<i class="text-muted">(string_ed_date, string_st_date)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.encode" href="#frappe.utils.data.encode" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>encode</b>
<i class="text-muted">(obj, encoding=utf-8)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.escape_html" href="#frappe.utils.data.escape_html" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>escape_html</b>
<i class="text-muted">(text)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.expand_relative_urls" href="#frappe.utils.data.expand_relative_urls" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>expand_relative_urls</b>
<i class="text-muted">(html)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.filter_strip_join" href="#frappe.utils.data.filter_strip_join" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>filter_strip_join</b>
<i class="text-muted">(some_list, sep)</i>
</p>
<div class="docs-attr-desc"><p>given a list, filter None values, strip spaces and join</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.flt" href="#frappe.utils.data.flt" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>flt</b>
<i class="text-muted">(s, precision=None)</i>
</p>
<div class="docs-attr-desc"><p>Convert to float (ignore commas)</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.fmt_money" href="#frappe.utils.data.fmt_money" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>fmt_money</b>
<i class="text-muted">(amount, precision=None, currency=None)</i>
</p>
<div class="docs-attr-desc"><p>Convert to string with commas for thousands, millions etc</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.format_datetime" href="#frappe.utils.data.format_datetime" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>format_datetime</b>
<i class="text-muted">(datetime_string, format_string=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.format_time" href="#frappe.utils.data.format_time" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>format_time</b>
<i class="text-muted">(txt)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.formatdate" href="#frappe.utils.data.formatdate" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>formatdate</b>
<i class="text-muted">(string_date=None, format_string=None)</i>
</p>
<div class="docs-attr-desc"><p>Convers the given string date to :data:<code>user_format</code>
ser format specified in defaults</p>
<p>Examples:</p>
<ul>
<li>dd-mm-yyyy</li>
<li>mm-dd-yyyy</li>
<li>dd/mm/yyyy</li>
</ul>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_datetime" href="#frappe.utils.data.get_datetime" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_datetime</b>
<i class="text-muted">(datetime_str=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_datetime_str" href="#frappe.utils.data.get_datetime_str" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_datetime_str</b>
<i class="text-muted">(datetime_obj)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_first_day" href="#frappe.utils.data.get_first_day" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_first_day</b>
<i class="text-muted">(dt, d_years=0, d_months=0)</i>
</p>
<div class="docs-attr-desc"><p>Returns the first day of the month for the date specified by date object
Also adds <code>d_years</code> and <code>d_months</code> if specified</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_host_name" href="#frappe.utils.data.get_host_name" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_host_name</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_last_day" href="#frappe.utils.data.get_last_day" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_last_day</b>
<i class="text-muted">(dt)</i>
</p>
<div class="docs-attr-desc"><p>Returns last day of the month using:
<code>get_first_day(dt, 0, 1) + datetime.timedelta(-1)</code></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_link_to_form" href="#frappe.utils.data.get_link_to_form" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_link_to_form</b>
<i class="text-muted">(doctype, name, label=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_number_format_info" href="#frappe.utils.data.get_number_format_info" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_number_format_info</b>
<i class="text-muted">(format)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_time" href="#frappe.utils.data.get_time" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_time</b>
<i class="text-muted">(time_str)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_time_zone" href="#frappe.utils.data.get_time_zone" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_time_zone</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_url" href="#frappe.utils.data.get_url" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_url</b>
<i class="text-muted">(uri=None, full_address=False)</i>
</p>
<div class="docs-attr-desc"><p>get app url from request</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_url_to_form" href="#frappe.utils.data.get_url_to_form" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_url_to_form</b>
<i class="text-muted">(doctype, name)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_url_to_list" href="#frappe.utils.data.get_url_to_list" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_url_to_list</b>
<i class="text-muted">(doctype)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.get_user_format" href="#frappe.utils.data.get_user_format" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>get_user_format</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.getdate" href="#frappe.utils.data.getdate" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>getdate</b>
<i class="text-muted">(string_date=None)</i>
</p>
<div class="docs-attr-desc"><p>Coverts string date (yyyy-mm-dd) to datetime.date object</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.global_date_format" href="#frappe.utils.data.global_date_format" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>global_date_format</b>
<i class="text-muted">(date)</i>
</p>
<div class="docs-attr-desc"><p>returns date as 1 January 2012</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.has_common" href="#frappe.utils.data.has_common" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>has_common</b>
<i class="text-muted">(l1, l2)</i>
</p>
<div class="docs-attr-desc"><p>Returns truthy value if there are common elements in lists l1 and l2</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.in_words" href="#frappe.utils.data.in_words" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>in_words</b>
<i class="text-muted">(integer, in_million=True)</i>
</p>
<div class="docs-attr-desc"><p>Returns string in words for the given integer.</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.is_html" href="#frappe.utils.data.is_html" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>is_html</b>
<i class="text-muted">(text)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.money_in_words" href="#frappe.utils.data.money_in_words" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>money_in_words</b>
<i class="text-muted">(number, main_currency=None, fraction_currency=None)</i>
</p>
<div class="docs-attr-desc"><p>Returns string in words with currency and fraction currency.</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.now" href="#frappe.utils.data.now" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>now</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p>return current datetime as yyyy-mm-dd hh:mm:ss</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.now_datetime" href="#frappe.utils.data.now_datetime" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>now_datetime</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.nowdate" href="#frappe.utils.data.nowdate" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>nowdate</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p>return current date as yyyy-mm-dd</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.nowtime" href="#frappe.utils.data.nowtime" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>nowtime</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p>return current time in hh:mm</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.parse_val" href="#frappe.utils.data.parse_val" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>parse_val</b>
<i class="text-muted">(v)</i>
</p>
<div class="docs-attr-desc"><p>Converts to simple datatypes from SQL query results</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.pretty_date" href="#frappe.utils.data.pretty_date" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>pretty_date</b>
<i class="text-muted">(iso_datetime)</i>
</p>
<div class="docs-attr-desc"><p>Takes an ISO time and returns a string representing how
long ago the date represents.
Ported from PrettyDate by John Resig</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.quote_urls" href="#frappe.utils.data.quote_urls" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>quote_urls</b>
<i class="text-muted">(html)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.quoted" href="#frappe.utils.data.quoted" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>quoted</b>
<i class="text-muted">(url)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.rounded" href="#frappe.utils.data.rounded" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>rounded</b>
<i class="text-muted">(num, precision=0)</i>
</p>
<div class="docs-attr-desc"><p>round method for round halfs to nearest even algorithm aka banker's rounding - compatible with python3</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.scrub_urls" href="#frappe.utils.data.scrub_urls" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>scrub_urls</b>
<i class="text-muted">(html)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.strip" href="#frappe.utils.data.strip" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>strip</b>
<i class="text-muted">(val, chars=None)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.strip_html" href="#frappe.utils.data.strip_html" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>strip_html</b>
<i class="text-muted">(text)</i>
</p>
<div class="docs-attr-desc"><p>removes anything enclosed in and including &lt;&gt;</p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.time_diff" href="#frappe.utils.data.time_diff" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>time_diff</b>
<i class="text-muted">(string_ed_date, string_st_date)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.time_diff_in_hours" href="#frappe.utils.data.time_diff_in_hours" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>time_diff_in_hours</b>
<i class="text-muted">(string_ed_date, string_st_date)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.time_diff_in_seconds" href="#frappe.utils.data.time_diff_in_seconds" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>time_diff_in_seconds</b>
<i class="text-muted">(string_ed_date, string_st_date)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.to_timedelta" href="#frappe.utils.data.to_timedelta" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>to_timedelta</b>
<i class="text-muted">(time_str)</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.today" href="#frappe.utils.data.today" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>today</b>
<i class="text-muted">()</i>
</p>
<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
</div>
<br>
<p class="docs-attr-name">
<a name="frappe.utils.data.unique" href="#frappe.utils.data.unique" class="text-muted small">
<i class="icon-link small" style="color: #ccc;"></i></a>
frappe.utils.data.<b>unique</b>
<i class="text-muted">(seq)</i>
</p>
<div class="docs-attr-desc"><p>use this instead of list(set()) to preserve order of the original list.
Thanks to Stackoverflow: http://stackoverflow.com/questions/480214/how-do-you-remove-duplicates-from-a-list-in-python-whilst-preserving-order</p>
</div>
<br>
<!-- autodoc -->