text:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>データベースのサポート状況 — Django v1.0 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />

    <link rel="contents" title="Global table of contents" href="../contents.html" />
    <link rel="index" title="Global index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="top" title="Django v1.0 documentation" href="../index.html" />
    <link rel="up" title="API リファレンス" href="index.html" />
    <link rel="next" title="django-admin.py と manage.py" href="django-admin.html" />
    <link rel="prev" title="django.contrib.webdesign" href="contrib/webdesign.html" />

    このドキュメントの Django のバージョンにはセキュリティ上の脆弱性があるため、すでにサポートが終了されています。新しいバージョンにアップグレードしてください!最新の Django のバージョンのドキュメントはこちら

Django v1.0 documentation

        ホーム  |
        目次  |
        索引  |
        モジュール一覧

    « 前へ
     |
    上へ
   |
    次へ »

データベースのサポート状況¶

<col class="field-name" />
<col class="field-body" />

revision-up-to:	8961 (1.0)

Django は可能な限り全てのデータベースバックエンドをサポートしようとしていま
すが、残念ながら全てのサーバが全く同じ仕様というわけではないので、どの機能
をサポートすべきか、どういった仕様を仮定するかといった設計上の判断を下して
います。

このドキュメントでは、このドキュメントでは、 Django を使う上で関係のあるデー
タベース機能について説明します。ただし、このドキュメントは特定のデータベー
スサーバ向けのドキュメントとして書かれたものではなく、リファレンスマニュア
ルでもありません。

MySQL に関する注意¶

Django はデータベースがトランザクションや参照の一貫性 (referential
integrity)、 Unicode (UTF-8 エンコーディング) をサポートしていることを想定
して書かれています。好運なことに、 MySQL バージョン 3.23 以降でこれらの機
能全てをサポートしています。従って、 3.23 や 4.0 をバックエンドとして使うの
は可能なのですが、 4.1 や 5.0 を使った方がトラブルに巻き込まれにくいでしょ
う。

MySQL 4.1¶

MySQL 4.1 では、文字セットのサポートを大幅に改良しています。 4.1 では、
データベース全体から、テーブル毎、カラム毎にいたるまで個別にデフォルトの文
字セットを指定できます。以前のバージョンでは、サーバ全体に対する文字セット
の設定しかできませんでした。また、 4.1 になってはじめてオンザフライで文字セッ
トを変更できるようになりました。 4.1 にはビューのサポートもありますが、
Django はまだこの機能をサポートしていません。

MySQL 5.0¶

MySQL 5.0 では、全てのデータベーススキーマに関する詳細なデータの入った
<tt class="docutils literal">information_schema</tt> というデータベースが追加されました。
<tt class="docutils literal">information_schema</tt> が存在すると、 Django はこのデータベースに対して
<tt class="docutils literal">inspectdb</tt> 機能を適用します。 5.0 ではまた、ストアドプロシジャのサポート
も追加されましたが、 Django はまだこの機能をサポートしていません。

ストレージエンジン¶

MySQL は複数の
ストレージエンジン
(以前はテーブルタイプ: table type と呼ばれていたもの) を選択できます。
デフォルトのストレージエンジンはサーバ設定で変更できます。

デフォルトのストレージエンジンは MyISAM です。 MyISAM の短所は、現状ではト
ランザクションや外部キーをサポートしていないという点です。一方、 MyISAM は、
現状で、全文インデクスの生成や全文検索をサポートしている唯一のストレージエ
ンジンです。

InnoDB エンジンは完全なトランザクション機能と外部キー参照をサポートしてい
ます。

BDB エンジンは InnoDB と同様、完全なトランザクション機能を外部キー参照をサ
ポートしていますが、やや時代送れになりつつあるようです。

SolidDB や Falcon といった その他のストレージエンジン
まだまだ圏外の話です。現状では、おそらく InnoDB が最良の選択でしょう。

MySQLdb¶

MySQLdb は Python から MySQL にアクセスするためのインタフェースです。
Django から利用できる MySQL の全ての機能を使うには、 バージョン 1.2.1p2 以
降が必要です。

Note

MySQLdb を Django から使おうとして
<tt class="docutils literal">ImportError: cannot import name ImmutableSet</tt> が出る場合は、おそらく
MySQLdb に古い <tt class="docutils literal">sets.py</tt> ファイルが入っていて、 Python 2.4 の同名の組
み込みモジュールと衝突しています。この問題を回避するには、 1.2.1p2 以降
の MySQLdb をインストールしてください。上書きインストールした場合には、
MySQLdb のインストールディレクトリを調べ、以前のバージョンの
<tt class="docutils literal">sets.py</tt> が入っていれば除去してください。

データベースを作成する¶

コマンドラインツールを使って、以下の SQL を発行すれば
データベースを作成 できます:

CREATE DATABASE <dbname> CHARACTER SET utf8;

これで、全てのテーブルとカラムがデフォルトで UTF-8 を使うようになります。

コレーションに関する設定¶

カラムのコレーション設定は、データの保存方法や、文字列の等価性の定義を制御
しています。コレーションはデータベース全体でも、テーブル単位でも、カラム単
位でも設定できます。コレーションの詳細は MySQL のドキュメントで
詳しく解説されています 。いずれの場合でも、コレー
ションの設定は直接データベーステーブルに対して行ってください。 Django はモ
デル定義でコレーションを設定する方法を提供していません。

デフォルトの構成では、 MySQL は UTF-8 のデータベースに対して
<tt class="docutils literal">utf8_general_ci_swedish</tt> コレーションを使います。この設定では、全ての文
字列の等値比較が 大小文字を区別 せず行われます。つまり、 <tt class="docutils literal">"Fred"</tt> と
<tt class="docutils literal">"freD"</tt> はデータベースレベルでは同じ値だとみなされるのです。そのため、デ
フォルトのコレーションを使っていると、フィールドに <tt class="docutils literal">unique</tt> 制約をかけた
ときに、 <tt class="docutils literal">"aa"</tt> と <tt class="docutils literal">"AA"</tt> は等しいとみなされ (一意性が破れるので) 同じ
カラムに入れられなくなります。

大抵のケースでは、デフォルトの設定はさして問題を起こしません。しかし、特定
のカラムやテーブルで大小文字を区別させたいなら、そのカラムやテーブルに
<tt class="docutils literal">utf8_bin</tt> コレーションを指定せねばなりません。その場合、注意すべきなのは、
MySQLdb 1.2.2 を使っていると、 Django のデータベースバックエンドが、データ
ベースから取り出した文字列フィールドの値として (unicode 文字列ではなく)
bytestring を返すということです。このふるまいは、 常に unicode を返す、と
いう Django の通常のやりかたから大きくかけ離れています。コレーションを
<tt class="docutils literal">utf8_bin</tt> にして、 bytestring を受け取ったときの扱いは、開発者に委ねられ
ています。 Django 自体はこのカラムを問題なく扱えますが、一貫性をもってデー
タを処理したければ、 <tt class="docutils literal">django.utils.encoding.smart_unicode()</tt> を何度も
呼び出すことになるでしょう。(データベースバックエンドレイヤとモデルの操作レ
イヤは内部的に分離しているため、変換が必要かどうかをデータベースレイヤでは
判断できないので) Django はこの変換に関知しないのです。

MySQLdb 1.2.1p2 を使っているなら、コレーションを <tt class="docutils literal">utf8_bin</tt> にしても、
<tt class="xref docutils literal">CharField</tt> は unicode 文字列を返します。しかし、
今度は <tt class="xref docutils literal">TextField</tt> が (Python 標準モジュール
<tt class="docutils literal">array</tt> の) <tt class="docutils literal">array.array</tt> を返します。データをデータベースから読み出す
ときに、変換に必要な情報が手にはいらないので、 Django 側ではどうしようもあ
りません。
この問題は MySQLdb 1.2.2 で解決済み なので、
<tt class="docutils literal">itf8_bin</tt> コレーションで <tt class="xref docutils literal">TextField</tt> を使いたけ
れば、バージョンを 1.2.2 に上げて、バイト文字列として扱うよう勧めます (それ
ほど難しくはありません)。

MySQLdb 1.2.1p2 で <tt class="docutils literal">utf8_bin</tt> コレーションの設定されたテーブルを使うのな
ら、 <tt class="xref docutils literal">django.contrib.sessions.models.Session</tt> のテーブル
(通常は <tt class="docutils literal">django_session</tt>) や、
<tt class="xref docutils literal">django.contrib.admin.models.LogEntry</tt> のテーブル
(通常は <tt class="docutils literal">django_admin_log</tt>) のコレーションに
<tt class="docutils literal">utf8_collation_ci_swedish</tt> (デフォルトのコレーション) を使わねばなりませ
ん。これらは標準の Django のテーブルのうち、内部的に
<tt class="xref docutils literal">TextField</tt> を使っているものだからです。

データベースに接続する¶

設定に関するドキュメント を参照してください。

接続に関する設定は、以下の順に適用されます:

<tt class="xref docutils literal">DATABASE_OPTIONS</tt>

<tt class="xref docutils literal">DATABASE_NAME</tt>, <tt class="xref docutils literal">DATABASE_USER</tt>,
<tt class="xref docutils literal">DATABASE_PASSWORD</tt>, <tt class="xref docutils literal">DATABASE_HOST</tt>,
<tt class="xref docutils literal">DATABASE_PORT</tt>

MySQL のオプション設定ファイル

別の言い方をするなら、 <tt class="xref docutils literal">DATABASE_OPTIONS</tt> 内にデータベースの名前を
設定すると、その内容は <tt class="xref docutils literal">DATABASE_NAME</tt> よりも優先順位が高くなり、
さらに <tt class="xref docutils literal">DATABASE_NAME</tt> は MySQL のオプション設定ファイル の内容
をオーバライドするということです。

MySQL のオプション設定ファイルを使う例を以下に示します:

# settings.py
DATABASE_ENGINE = "mysql"
DATABASE_OPTIONS = {
    'read_default_file': '/path/to/my.cnf',
    }

# my.cnf
[client]
database = DATABASE_NAME
user = DATABASE_USER
password = DATABASE_PASSWORD
default-character-set = utf8

この他にも、MySQLdb の接続オプションには、 <tt class="docutils literal">ssl</tt>, <tt class="docutils literal">use_unicode</tt>,
<tt class="docutils literal">init_command</tt>, <tt class="docutils literal">sql_mode</tt> といった便利なものがあります。詳しくは
MySQLdb のドキュメント を参照してください。

テーブルを作成する¶

Django はスキーマを作成する際にストレージエンジンを指定しません。そのため、
テーブルは常にサーバに設定されたデフォルトのストレージエンジンで作成されま
す。作成されるテーブルを特定のタイプにしたければ、データベースサーバのデフォ
ルトストレージエンジンを Django で使いたいストレージエンジンに合わせるのが
一番簡単です。

ホスティングサービスを使っていて、サーバのデフォルトのストレージエンジンを
変更できない場合、二つの選択肢があります。

テーブルが作成された後に、以下のようなクエリを発行して、ストレージ
エンジンを (InnoDB) などに変更します:

ALTER TABLE <tablename> ENGINE=INNODB;

テーブルが沢山ある場合には、これは相当骨がおれることでしょう。

あるいは、テーブルを作成する前に、 MySQLdb の <tt class="docutils literal">init_command</tt> オプショ
ンを使います:

DATABASE_OPTIONS = {
  ...
  "init_command": "SET storage_engine=INNODB",
  ...
  }

このように設定しておくと、接続時にデフォルトのストレージエンジンが変更
されます。ただし、テーブルが全て作成され、運用環境で動き始めたら、この
オプションを外しておかねばなりません。

syncdb 時にストレージエンジンを変更するもう一つの方法は、 Wiki の
AlterModelOnSyncDB に記載されています。

<tt class="docutils literal">BooleanField</tt> に関する注意¶

MySQL には直接的な <tt class="docutils literal">BOOLEAN</tt> カラム型がないので、 Django は
<tt class="xref docutils literal">BooleanField</tt> の値を <tt class="docutils literal">TINYINT</tt> カラムを使って 0
または 1 で保存します。詳しくはモデルフィールドのドキュメントを参照してくだ
さい。ただし、フィールドの値を出力したり、値が <tt class="xref docutils literal">True</tt> や <tt class="xref docutils literal">False</tt> でなけ
ればならないような場合を除いて、特に問題はありません。

SQLite に関する注意¶

バージョン 3.3.5 以前の SQLite には、 <tt class="docutils literal">ORDER_BY</tt> パラメタの扱いかたに
バグがあります 。そのため、クエリセットメソッド
<tt class="docutils literal">extra()</tt> を使って <tt class="docutils literal">select</tt> のパラメタを指定しようとすると問題を引き起
こします。このバグは、
<tt class="docutils literal">OperationalError: ORDER BY terms must not be non-integer constants</tt> とい
うメッセージを出力します。 SQLite のバージョンを 3.3.6 に上げ、
<tt class="docutils literal">pysqlite2</tt> モジュールを更新すれば、問題を解決できます。

バージョン 3.3.6 は 2006 年の 4 月にリリースされており、現在手に入る各プラッ
トフォームのほとんどのバイナリ配布物で、Python から <tt class="docutils literal">pysqlite2</tt> や
<tt class="docutils literal">sqlite3</tt> を介して使える SQLite は新しいバージョンなので、あまり大きなイ
ンパクトはありません。

ただし、 Windows の場合、 Python 2.5 の公式の安定版リリースのバイナリ配布物
には (今のところ 2.5.2 も)、 SQLite 3.3.4 が組み込まれているため、バグが確
認されています。このため (Django 1.0 で) 3 つのテストスイートが失敗します。
この問題は、上で述べたように、 新しいバージョン SQLite が組み込まれた
<tt class="docutils literal">pysqlite2</tt> (<tt class="docutils literal">pysqlite-2.x.x.win32-py2.5.exe</tt>) をダウンロードしてインス
トールすれば解決できます。 Python 2.6 には新たなバージョンの SQLite が付属
する予定なので、この問題の影響を受けないはずです。

上記のプラットフォームを使っていて、 <tt class="docutils literal">pysqlite</tt> や SQLite を更新する必要
があるなら、Django のソースツリーの <tt class="docutils literal">django/db/backends/sqlite3/base.py</tt>
ファイルを手で編集して、 <tt class="docutils literal">sqlite3</tt> より <tt class="docutils literal">pysqlite2</tt> が先に import され
るように変更してください。

Oracle に関する注意¶

Django はバージョン 9i 以降の Oracle データベースサーバ をサポートしてい
ます。 Django の <tt class="docutils literal">regex</tt> および <tt class="docutils literal">iregex</tt> クエリオペレータを使うには、
バージョン 10g 以降の Oracle を使う必要があります。
バージョン 4.3.1 以降の cx_Oracle ドライバが必要です。

Oracle で <tt class="docutils literal">python manage.py syncdb</tt> コマンドを動かすには、データベースユー
ザに以下のコマンドを実行できる権限が必要です:

CREATE TABLE

CREATE SEQUENCE

CREATE PROCEDURE

CREATE TRIGGER

Django のテストスイートを実行させるには、 さらに 以下の権限が必要です:

CREATE USER

DROP USER

CREATE TABLESPACE

DROP TABLESPACE

データベースへの接続¶

Oracle を使う場合、 Django の settings.py は以下のように設定します:

DATABASE_ENGINE = 'oracle'
DATABASE_NAME = 'xe'
DATABASE_USER = 'a_user'
DATABASE_PASSWORD = 'a_password'
DATABASE_HOST = ''
DATABASE_PORT = ''

<tt class="docutils literal">tnsnames.ora</tt> ファイルや、 SID として扱われる名前 (上の例では "xe")
を使わない場合は、以下のように <tt class="xref docutils literal">DATABASE_HOST</tt> および
<tt class="xref docutils literal">DATABASE_PORT</tt> を設定してください:

DATABASE_ENGINE = 'oracle'
DATABASE_NAME = 'xe'
DATABASE_USER = 'a_user'
DATABASE_PASSWORD = 'a_password'
DATABASE_HOST = 'dbprod01ned.mycompany.com'
DATABASE_PORT = '1540'

<tt class="xref docutils literal">DATABASE_HOST</tt> と <tt class="xref docutils literal">DATABASE_PORT</tt> は、両方とも指定するか、
両方とも空にするかどちらかにしてください。

テーブルスペース¶

Oracle ベースのシステムでパフォーマンス向上に使われているパラダイムとして、
「 テーブルスペース (tablespace)」によるディスクレイアウトの構築がありま
す。 <tt class="docutils literal">db_tablespace</tt> オプションを <tt class="docutils literal">Meta</tt> と <tt class="docutils literal">Field</tt> クラスに追加する
と、 Oracle バックエンドはテーブルスペースを利用します (バックエンドがテー
ブルスペースをサポートしなければ、 Django はこのオプションを無視します)。

モデルのテーブルにテーブルスペースを指定するには、モデルの内部クラス
<tt class="docutils literal">Meta</tt> に <tt class="docutils literal">db_tablespace</tt> オプションを指定します。モデル全体とは別のテー
ブルスペースをフィールドのカラムインデクスに指定したければ、フィールドのコ
ンストラクタに <tt class="docutils literal">db_tablespace</tt> を指定します。カラムごとにインデクスを生成
しない場合には、 <tt class="docutils literal">db_tablespace</tt> オプションは無視されます:

class TablespaceExample(models.Model):
    name = models.CharField(max_length=30, db_index=True, db_tablespace="indexes")
    data = models.CharField(max_length=255, db_index=True)
    edges = models.ManyToManyField(to="self", db_tablespace="indexes")

    class Meta:
        db_tablespace = "tables"

上の例では、 <tt class="docutils literal">TablespaceExample</tt> モデルの生成するテーブル
(モデルテーブルと多対多のリレーションのテーブル) は、 <tt class="docutils literal">tables</tt> という名前
のテーブルスペースに保存されます。 <tt class="docutils literal">name</tt> フィールドと、多対多リレーショ
ンテーブルのインデクスは <tt class="docutils literal">indexes</tt> テーブルスペースに保存されます。
<tt class="docutils literal">data</tt> フィールドもインデクスを生成しますが、このインデクスのテーブルスペー
スは指定されていないので、デフォルトの挙動としてテーブルスペース
<tt class="docutils literal">tables</tt> に保存されます。

Django 1.0 で新たに登場しました.

<tt class="docutils literal">db_tablespace</tt> オプションのデフォルト値を指定するには、
<tt class="xref docutils literal">DEFAULT_TABLESPACE</tt> および <tt class="xref docutils literal">DEFAULT_INDEX_TABLESPACE</tt> 設
定を使います。これらの設定は、組み込みの Django アプリケーションや、ソース
コードをいじれないアプリケーションに対してテーブルスペースを指定する場合に
便利です。

Django 自体にはテーブルスペースを作成する機能はありません。
テーブルスペースの作成や管理の方法は、 Oracle のドキュメント を参照して
ください。

名前に関する制約¶

Oracle は名前の長さを 30 文字以下に制限しています。この制限に合わせるために、
バックエンドは識別子名を切り詰めて、最後の 4 文字を MD5 のハッシュ値で置き
換えます。

NULL 値よび空文字列¶

Django は通常、 NULL ではなく空文字列を使うようにしていますが、 Oracle はこ
れらを別々のものとして扱います。この問題を回避するには、 Oracle バックエン
ドは空文字列を値として受け入れるフィールドに <tt class="docutils literal">null=Ture</tt> オプションを
強制的に付加します。データベースから値を取り出すとき、フィールドの値が NULL
であれば、そのフィールドの値は実際には空文字列であるとみなし、値も暗黙のう
ちに空文字列に変換されます。

<tt class="docutils literal">TextField</tt> への制限¶

Oracle バックエンドは <tt class="docutils literal">TextField</tt> を <tt class="docutils literal">NCLOB</tt> カラム形式で保存します。
Oracle は、一般に LOB カラムに以下の制約を課しています:

LOB カラムは主キーにできません。

LOB カラムはインデクス化に使えません。

LOB カラムは <tt class="docutils literal">SELECT DISTINCT</tt> できません。従って、Oralce バックエン
ドを使っていて、  <tt class="docutils literal">TextField</tt> カラムを含むモデルに対して
<tt class="docutils literal">QuerySet.distinct</tt> を行うとエラーを引き起こします。このエラーを避け
るには、 <tt class="docutils literal">distinct()</tt> クエリの対象モデルから <tt class="docutils literal">TextField</tt> を除去し、
<tt class="docutils literal">TextField</tt> を持つ他のモデルを定義しておいてリレーションを張ってくだ
さい。

Table Of Contents

データベースのサポート状況

MySQL に関する注意

MySQL 4.1

MySQL 5.0

ストレージエンジン

MySQLdb

データベースを作成する

コレーションに関する設定

データベースに接続する

テーブルを作成する

<tt class="docutils literal">BooleanField</tt> に関する注意

SQLite に関する注意

Oracle に関する注意

データベースへの接続

テーブルスペース

名前に関する制約

NULL 値よび空文字列

<tt class="docutils literal">TextField</tt> への制限

前後のページ

前: django.contrib.webdesign

次: django-admin.py と manage.py

現在のページ:

        Django v1.0 documentation

API リファレンス

データベースのサポート状況

This Page

Show Source

Quick search

            <form class="search" action="../search.html" method="get">
              <input type="text" name="q" size="18" /> <input type="submit" value="Go" />
              <input type="hidden" name="check_keywords" value="yes" />
              <input type="hidden" name="area" value="default" />
            </form>

Last update:

Aug 31, 2012

    « 前へ
     |
    上へ
   |
    次へ »


text:
package com.nhl.link.rest.it.fixture.cayenne.auto;

import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;

import org.apache.cayenne.CayenneDataObject;
import org.apache.cayenne.exp.Property;

/**
 * Class _E16 was generated by Cayenne.
 * It is probably a good idea to avoid changing this class manually,
 * since it may be overwritten next time code is regenerated.
 * If you need to make any customizations, please use subclass.
 */
public abstract class _E16 extends CayenneDataObject {

    private static final long serialVersionUID = 1L;

    public static final String ID_PK_COLUMN = "id";

    public static final Property<Date> C_DATE = new Property<Date>("cDate");
    public static final Property<Time> C_TIME = new Property<Time>("cTime");
    public static final Property<Timestamp> C_TIMESTAMP = new Property<Timestamp>("cTimestamp");

    public void setCDate(Date cDate) {
        writeProperty("cDate", cDate);
    }
    public Date getCDate() {
        return (Date)readProperty("cDate");
    }

    public void setCTime(Time cTime) {
        writeProperty("cTime", cTime);
    }
    public Time getCTime() {
        return (Time)readProperty("cTime");
    }

    public void setCTimestamp(Timestamp cTimestamp) {
        writeProperty("cTimestamp", cTimestamp);
    }
    public Timestamp getCTimestamp() {
        return (Timestamp)readProperty("cTimestamp");
    }

}

redpajama_set_name: RedPajamaGithub


text:
require File.expand_path('../../spec_helper', __FILE__)

module Selenium
  module WebDriver
    module PhantomJS
      describe Bridge do
        let(:resp)    { {'sessionId' => 'foo', 'value' => Remote::Capabilities.phantomjs.as_json} }
        let(:service) { double(Service, start: true, uri: 'http://example.com') }
        let(:http)    { double(Remote::Http::Default, call: resp).as_null_object }

        before do
          allow(PhantomJS).to receive(:path).and_return('/foo')
          allow(Service).to receive(:new).and_return(service)
        end

        it 'starts the server with the given arguments' do
          expect(Service).to receive(:new).with(PhantomJS.path, Service::DEFAULT_PORT, *%w[--foo --bar])
          Bridge.new(http_client: http, args: %w[--foo --bar])
        end

        it 'reads server arguments from desired capabilities if not given directly' do
          expect(Service).to receive(:new).with(PhantomJS.path, Service::DEFAULT_PORT, *%w[--foo --bar])

          caps = Remote::Capabilities.phantomjs
          caps['phantomjs.cli.args'] = %w[--foo --bar]

          Bridge.new(http_client: http, desired_capabilities: caps)
        end

        it 'takes desired capabilities' do
          custom_caps = Remote::Capabilities.new(browser_name: 'foo')

          expect(http).to receive(:call) do |_verb, _post, payload|
            expect(payload[:desiredCapabilities]).to eq(custom_caps)
            resp
          end

          Bridge.new(http_client: http, desired_capabilities: custom_caps)
        end

        it 'lets direct arguments take presedence over capabilities' do
          expect(Service).to receive(:new).with(PhantomJS.path, Service::DEFAULT_PORT, *%w[--foo --bar])

          caps = Remote::Capabilities.phantomjs
          caps['phantomjs.cli.args'] = %w[--baz]

          Bridge.new(http_client: http, desired_capabilities: caps, args: %w[--foo --bar])
        end
      end
    end # PhantomJS
  end # WebDriver
end # Selenium


text:
#include <libc/stdio.h>
/*
 * This file was made to ensure portability and be sure
 * that existing code with #include <stdio.h> works.
 */


text:
package org.springframework.social.connect.web;

import static java.util.Arrays.*;
import static org.hamcrest.Matchers.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
import static org.springframework.test.web.servlet.setup.MockMvcBuilders.*;

import java.util.Arrays;

import org.junit.Test;
import org.springframework.social.connect.Connection;
import org.springframework.social.connect.ConnectionData;
import org.springframework.social.connect.ConnectionFactory;
import org.springframework.social.connect.support.ConnectionFactoryRegistry;
import org.springframework.social.connect.web.test.StubOAuth1ConnectionFactory;
import org.springframework.social.connect.web.test.StubOAuth2ConnectionFactory;
import org.springframework.social.connect.web.test.StubOAuthTemplateBehavior;
import org.springframework.social.connect.web.test.StubUsersConnectionRepository;
import org.springframework.social.connect.web.test.TestApi1;
import org.springframework.social.connect.web.test.TestApi2;
import org.springframework.social.oauth1.OAuthToken;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.web.context.request.NativeWebRequest;

public class ProviderSignInControllerTest {

	@Test
	public void constructor() {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		usersConnectionRepository.createConnectionRepository("habuma").addConnection(connectionFactory1.createConnection(
			new ConnectionData("oauth1Provider", "provider1User1", null, null, null, null, null, null, null)));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.setApplicationUrl("my.url");
	}
	// OAuth 1

	@Test
	public void signIn_nonExistentProvider() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		usersConnectionRepository.createConnectionRepository("habuma").addConnection(connectionFactory1.createConnection(
			new ConnectionData("oauth1Provider", "provider1User1", null, null, null, null, null, null, null)));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(post("/signin/nonExistentOAuth1Provider"))
			.andExpect(redirectedUrl("/signin?error=provider"));
	}

	@Test
	public void signIn_OAuth1Provider() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		usersConnectionRepository.createConnectionRepository("habuma").addConnection(connectionFactory1.createConnection(
			new ConnectionData("oauth1Provider", "provider1User1", null, null, null, null, null, null, null)));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(post("/signin/oauth1Provider"))
			.andExpect(redirectedUrl("https://someprovider.com/oauth/authorize?oauth_token=requestToken"))
			.andExpect(request().sessionAttribute("oauthToken", samePropertyValuesAs(new OAuthToken("requestToken", "requestTokenSecret"))));
	}

	@Test
	public void signIn_OAuth1Provider_exceptionWhileFetchingRequestToken() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret", StubOAuthTemplateBehavior.THROW_EXCEPTION);
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		usersConnectionRepository.createConnectionRepository("habuma").addConnection(connectionFactory1.createConnection(
			new ConnectionData("oauth1Provider", "provider1User1", null, null, null, null, null, null, null)));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(post("/signin/oauth1Provider"))
			.andExpect(redirectedUrl("/signin?error=provider"));
	}

	@Test
	public void oauth1Callback_noMatchingUser() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl("/signup"))
			.andExpect(request().sessionAttribute(ProviderSignInAttempt.class.getName(), notNullValue()));
		// TODO: Assert attempt contents
	}

	@Test
	public void oauth1Callback_noMatchingUser_customSignUpUrl() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.setSignUpUrl("/register");
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl("/register"))
			.andExpect(request().sessionAttribute(ProviderSignInAttempt.class.getName(), notNullValue()));
		// TODO: Assert attempt contents
	}

	@Test
	public void oauth1Callback_multipleMatchingUsers() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(Arrays.asList("testuser1", "testuser2"));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl("/signin?error=multiple_users"));
	}

	@Test
	public void oauth1Callback_multipleMatchingUsers_customSignInUrl() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(Arrays.asList("testuser1", "testuser2"));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.setSignInUrl("/customsignin?param=1234");
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl("/customsignin?param=1234&error=multiple_users"));
	}

	@Test
	public void oauth1Callback_errorWhileExchangingForAccessToken() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret", StubOAuthTemplateBehavior.THROW_EXCEPTION);
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(Arrays.asList("testuser1"));
		MockMvc mockMvc = standaloneSetup(new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null)).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl("/signin?error=provider"));
	}

	@Test
	public void oauth1Callback_matchingUser_noOriginalUrl() throws Exception {
		performOAuth1Callback(null, null);
	}

	@Test
	public void oauth1Callback_matchingUser_noOriginalUrl_withPostSignInUrl() throws Exception {
		performOAuth1Callback(null, "/postSignIn");
	}

	@Test
	public void oauth1Callback_matchingUser_withOriginalUrl() throws Exception {
		performOAuth1Callback("/original", null);
	}

	private void performOAuth1Callback(String originalUrl, String postSignInUrl) throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi1> connectionFactory1 = new StubOAuth1ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory1);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(asList("habuma"));
		SignInAdapter signInAdapter = new TestSignInAdapter(originalUrl);
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, signInAdapter);
		if (postSignInUrl != null) {
			controller.setPostSignInUrl(postSignInUrl);
		}
		controller.afterPropertiesSet();

		String expectedRedirectUrl = calculateExpectedRedirectUrl(originalUrl, postSignInUrl);
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth1Provider").param("verifier", "verifier").param("oauth_token", "requestToken"))
			.andExpect(redirectedUrl(expectedRedirectUrl));
		// TODO: Verify that the connection is updated (connectionRepository.updateConnection() is called)
	}

	// OAuth 2
	@Test
	public void signIn_OAuth2Provider() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		usersConnectionRepository.createConnectionRepository("habuma").addConnection(connectionFactory2.createConnection(
			new ConnectionData("oauth2Provider", "provider2User1", null, null, null, null, null, null, null)));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(post("/signin/oauth2Provider"))
			.andExpect(redirectedUrl("https://someprovider.com/oauth/authorize?client_id=clientId&response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2Fsignin%2Foauth2Provider&state=STATE"));
	}

	@Test
	public void oauth2Callback_noMatchingUser() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl("/signup"))
			.andExpect(request().sessionAttribute(ProviderSignInAttempt.class.getName(), notNullValue()));
		// TODO: Assert attempt contents
	}

	@Test
	public void oauth2Callback_noMatchingUser_customSignUpUrl() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		controller.setSignUpUrl("/register");
		controller.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl("/register"))
			.andExpect(request().sessionAttribute(ProviderSignInAttempt.class.getName(), notNullValue()));
		// TODO: Assert attempt contents
	}

	@Test
	public void oauth2ErrorCallback() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("error", "access_denied"))
			.andExpect(redirectedUrl("/signin?error=access_denied"));

	}

	@Test
	public void oauth2ErrorCallback_withDescriptionAndUri() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository();
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth2Provider")
			.param("error", "access_denied")
			.param("error_description", "The user said no.")
			.param("error_uri", "http://provider.com/user/said/no"))
			.andExpect(redirectedUrl("/signin?error=access_denied&error_description=The+user+said+no.&error_uri=http%3A%2F%2Fprovider.com%2Fuser%2Fsaid%2Fno"));
	}

	@Test
	public void oauth2Callback_multipleMatchingUsers() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(asList("testuser1", "testuser2"));
		ProviderSignInController providerSignInController = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		providerSignInController.afterPropertiesSet();
		MockMvc mockMvc = standaloneSetup(providerSignInController).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl("/signin?error=multiple_users"));
	}

	@Test
	public void oauth2Callback_multipleMatchingUsers_customSignInUrl() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(asList("testuser1", "testuser2"));
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null);
		controller.afterPropertiesSet();
		controller.setSignInUrl("/customsignin?someparameter=1234");
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl("/customsignin?someparameter=1234&error=multiple_users"));
	}

	@Test
	public void oauth2Callback_errorWhileExchangingForAccessToken() throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret", StubOAuthTemplateBehavior.THROW_EXCEPTION);
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(asList("testuser1"));
		MockMvc mockMvc = standaloneSetup(new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, null)).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl("/signin?error=provider"));
	}

	@Test
	public void oauth2Callback_matchingUser_noOriginalUrl() throws Exception {
		performOAuth2Callback(null, null);
	}

	@Test
	public void oauth2Callback_matchingUser_noOriginalUrl_withPostSignInUrl() throws Exception {
		performOAuth2Callback(null, "/postSignIn");
	}

	@Test
	public void oauth2Callback_matchingUser_withOriginalUrl() throws Exception {
		performOAuth2Callback("/original", null);
	}

	private void performOAuth2Callback(String originalUrl, String postSignInUrl) throws Exception {
		ConnectionFactoryRegistry connectionFactoryLocator = new ConnectionFactoryRegistry();
		ConnectionFactory<TestApi2> connectionFactory2 = new StubOAuth2ConnectionFactory("clientId", "clientSecret");
		connectionFactoryLocator.addConnectionFactory(connectionFactory2);
		StubUsersConnectionRepository usersConnectionRepository = new StubUsersConnectionRepository(asList("testuser"));
		SignInAdapter signInAdapter = new TestSignInAdapter(originalUrl);
		ProviderSignInController controller = new ProviderSignInController(connectionFactoryLocator, usersConnectionRepository, signInAdapter);
		controller.afterPropertiesSet();
		if (postSignInUrl != null) {
			controller.setPostSignInUrl(postSignInUrl);
		}
		MockMvc mockMvc = standaloneSetup(controller).build();
		mockMvc.perform(get("/signin/oauth2Provider").param("code", "authcode"))
			.andExpect(redirectedUrl(calculateExpectedRedirectUrl(originalUrl, postSignInUrl)));
		// TODO: Verify that the connection is updated (connectionRepository.updateConnection() is called)
	}

	private static class TestSignInAdapter implements SignInAdapter {

		private final String originalUrl;

		public TestSignInAdapter(String originalUrl) {
			this.originalUrl = originalUrl;
		}

		public String signIn(String userId, Connection<?> connection, NativeWebRequest request) {
			return originalUrl;
		}
	}

	private String calculateExpectedRedirectUrl(String originalUrl, String postSignInUrl) {
		String expectedRedirectUrl = "/";
		if (originalUrl == null) {
			if (postSignInUrl != null) {
				expectedRedirectUrl = postSignInUrl;
			}
		} else {
			expectedRedirectUrl = originalUrl;
		}
		return expectedRedirectUrl;
	}

}


text:
package os

import (
	"syscall"
	"time"
)

const bitSize16 = 2

func fileInfoFromStat(d *syscall.Dir) FileInfo {
	fs := &fileStat{
		name:    d.Name,
		size:    d.Length,
		modTime: time.Unix(int64(d.Mtime), 0),
		sys:     d,
	}
	fs.mode = FileMode(d.Mode & 0777)
	if d.Mode&syscall.DMDIR != 0 {
		fs.mode |= ModeDir
	}
	if d.Mode&syscall.DMAPPEND != 0 {
		fs.mode |= ModeAppend
	}
	if d.Mode&syscall.DMEXCL != 0 {
		fs.mode |= ModeExclusive
	}
	if d.Mode&syscall.DMTMP != 0 {
		fs.mode |= ModeTemporary
	}
	// Consider all files not served by #M as device files.
	if d.Type != 'M' {
		fs.mode |= ModeDevice
	}
	return fs
}

// arg is an open *File or a path string.
func dirstat(arg interface{}) (*syscall.Dir, error) {
	var name string
	var err error

	size := syscall.STATFIXLEN + 16*4

	for i := 0; i < 2; i++ {
		buf := make([]byte, bitSize16+size)

		var n int
		switch a := arg.(type) {
		case *File:
			name = a.name
			n, err = syscall.Fstat(a.fd, buf)
		case string:
			name = a
			n, err = syscall.Stat(a, buf)
		default:
			panic("phase error in dirstat")
		}

		if n < bitSize16 {
			return nil, &PathError{"stat", name, err}
		}

		// Pull the real size out of the stat message.
		size = int(uint16(buf[0]) | uint16(buf[1])<<8)

		// If the stat message is larger than our buffer we will
		// go around the loop and allocate one that is big enough.
		if size <= n {
			d, err := syscall.UnmarshalDir(buf[:n])
			if err != nil {
				return nil, &PathError{"stat", name, err}
			}
			return d, nil
		}

	}

	if err == nil {
		err = syscall.ErrBadStat
	}

	return nil, &PathError{"stat", name, err}
}

// statNolog implements Stat for Plan 9.
func statNolog(name string) (FileInfo, error) {
	d, err := dirstat(name)
	if err != nil {
		return nil, err
	}
	return fileInfoFromStat(d), nil
}

// lstatNolog implements Lstat for Plan 9.
func lstatNolog(name string) (FileInfo, error) {
	return statNolog(name)
}

// For testing.
func atime(fi FileInfo) time.Time {
	return time.Unix(int64(fi.Sys().(*syscall.Dir).Atime), 0)
}


text:
<?php

// src/TM/BlogBundle/Controller/PanierController.php

namespace TM\BlogBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class PanierController extends Controller
{
    public function panierAction()
    {
        $em = $this->getDoctrine()->getManager();

        $session = $this->get('session');

        $panier = $session->get('panier');

        if(is_null($panier)){
            $articles = false;
        }else{
            $sess_id = array_column($panier, 'id');
            $articles = true;
        }

        $autres = $em->getRepository('TMBlogBundle:Article')->newz(4);
        $commentaires = $em->getRepository('TMBlogBundle:Comment')->all(4);

        return $this->render('TMBlogBundle:Panier:panier.html.twig', array(
            'commentaires' => $commentaires,
            'articles' => $articles,
            'autres' => $autres,
            'panier' => $panier,
        ));
    }

    public function validationAction()
    {
        $em = $this->getDoctrine()->getManager();

        $session = $this->get('session');

        $panier = $session->get('panier');

        if(empty($panier)){
            $session->getFlashBag()->add('error', array('type'=>'danger', 'msg'=> 'Le panier est vide!!!'));

            return $this->redirect($this->generateUrl('tm_blog_panier'));
        }else{
            $sess_id = array_column($panier, 'id');
            $articles = true;
        }

        $autres = $em->getRepository('TMBlogBundle:Article')->newz(4);
        $commentaires = $em->getRepository('TMBlogBundle:Comment')->all(4);

        return $this->render('TMBlogBundle:Panier:validation.html.twig', array(
            'autres' => $autres,
            'commentaires' => $commentaires,
            'panier' => $panier,
        ));
    }

    /**
     * Récupère et Affiche le contenu des commandes en cours
     */
    public function commandeListAction(Request $request)
    {
        $session = $this->get('session');
        $title = 'Mes commandes';
        $display = false;
        $commande_list = null;

        if(!$session->has('commande')){
             $session->getFlashBag()->add('error', array('type'=>'danger', 'msg'=> 'Aucune commande en cours...'));
        }else{

            $commande_list = $session->get('commande');

            $display = true;
        }

        return $this->render('TMBlogBundle:Panier:commande.html.twig', array(
          'display' => $display,
          'title' => $title,
          'commande_list' => $commande_list,
        ));
    }
}


text:
import bee
from bee.segments import *
import libcontext
from libcontext.pluginclasses import *
from libcontext.socketclasses import *

from .. import chessboard as comp_chessboard

class pandachessboard(comp_chessboard.chessboard):
    def __init__(self, boardparent):
        self.boardparent = boardparent
        comp_chessboard.chessboard.__init__(self)

    def move(self, move):
        self.boardparent.move(move)

class chessboard(bee.worker):
    player = variable("str")
    parameter(player, "Both")

    turn = antenna("pull", "str")
    v_turn = buffer("pull", "str")
    connect(turn, v_turn)
    trig_turn = triggerfunc(v_turn)

    make_move = antenna("push", ("str", "chess"))
    v_make_move = variable(("str", "chess"))
    connect(make_move, v_make_move)

    @modifier
    def do_make_move(self):
        self.board.make_move(self.v_make_move)

    trigger(v_make_move, do_make_move, "update")

    get_move = output("push", ("str", "chess"))
    v_move = variable("str")
    t_move = transistor("str")
    connect(v_move, t_move)
    connect(t_move, get_move)
    trig_move = triggerfunc(t_move)

    def move(self, move):
        try:
            self.eventhandler_lock()
            if self.player != "Both":
                self.trig_turn()
                if self.v_turn != self.player or self.player is None: raise ValueError
            self.v_move = move
            self.trig_move()
        finally:
            self.eventhandler_unlock()

    def set_eventhandler_lock(self, eventhandler_lock):
        self.eventhandler_lock = eventhandler_lock

    def set_eventhandler_unlock(self, eventhandler_unlock):
        self.eventhandler_unlock = eventhandler_unlock

    def place(self):
        assert self.player in ("White", "Black", "Both", None)
        self.board = pandachessboard(self)

        libcontext.socket(("eventhandler", "lock"),
                          socket_single_required(self.set_eventhandler_lock))

        libcontext.socket(("eventhandler", "unlock"),
                          socket_single_required(self.set_eventhandler_unlock))


text:
#include "Model/Writer/NMR_ModelWriterNode_ModelBase.h"

#include "Model/Writer/NMR_ModelWriterNode_ModelBase.h"

namespace NMR {

	CModelWriterNode_ModelBase::CModelWriterNode_ModelBase(CModel * pModel, CXmlWriter * pXMLWriter, PProgressMonitor pProgressMonitor)
		:CModelWriterNode(pXMLWriter, pProgressMonitor) {
		__NMRASSERT(pModel);
		m_pModel = pModel;
	}

	void CModelWriterNode_ModelBase::assertResourceIsInCurrentPath(PPackageResourceID pID) {
		if (pID->getPath() != m_pModel->currentPath())
			throw CNMRException(NMR_ERROR_MODELRESOURCE_IN_DIFFERENT_MODEL);
	}
}


text:
<?php
/**
 * Backend Site Controller.
 *

 * @package backend.controllers
 *
 */
class PlanyourtripController extends FeController
{

	public function actionIndex()
	{

		$page = Page::model()->findByPk(57);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$this->render('planyourtrip1',array( 'page'=>$page, 'meta'=>$meta ));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionBytheme()
	{

		$page = Page::model()->findByPk(78);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

		if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';
		$dids = isset($_GET['deities']) ? strtolower(trim($_GET['deities'])) : '';
		$condition = '';

		$adids = explode(',', $dids);

		if( isset($dids) && ($dids!='') ) {
			foreach ( $adids as $key=>$val ) {
				if($key == 0 ) { $condition .= " sdeity = ".$val; }
				else { $condition .= " OR sdeity = ".$val; }
			} }

		if($q != '') {
			if( $condition == '' ) { $condition .= " name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
			else
			{ $condition .= " OR name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
		}

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1 AND religion = 1001'; $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND religion = 1001 AND ('.$condition.')'; $criteria->order=' name ASC'; }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-deity-theme',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionSearch()
	{

		$page = Page::model()->findByPk(83);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

		if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';

		$Stname = 0;
		$SDeity = 0;
		$Scity = 0;

		$condition[]='';

		$TempleNames = Temples::model()->findAll(array('condition'=>"name LIKE '%".$q."%' OR content1 LIKE '%".$q."%' OR famous_for LIKE '%".$q."%'"));
		if( isset($TempleNames) && count($TempleNames)>0 ) { $Stname = 1;  $condition[] = "name LIKE '%".$q."%' OR content1 LIKE '%".$q."%' OR famous_for LIKE '%".$q."%'";  }

		$DeitySearches = Diety::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));

		if(isset($DeitySearches) && count($DeitySearches)>0 ) {
		  $SDeity = 1;
		  foreach ($DeitySearches as $DeitySearch) {
				$condition[] = "sdeity = ".$DeitySearch->id;
		  }
		}

		$TownSearches = Town::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));

		if(isset($TownSearches) && count($TownSearches)>0 ) {
		  $Scity = 1;
		  foreach ($TownSearches as $TownSearch) {
				$condition[] = "town = ".$TownSearch->id;
		  }
		}

		$DistrictSearches = District::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));

		if(isset($DistrictSearches) && count($DistrictSearches)>0 ) {
		  foreach ($DistrictSearches as $DistrictSearch) {
				$condition2[] = "district = ".$DistrictSearch->id;
		  }
		}

		$StateSearches = State::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));

		if(isset($StateSearches) && count($StateSearches)>0 ) {
		  foreach ($StateSearches as $StateSearch) {
				$condition2[] = "state = ".$StateSearch->id;
		  }
		}

		//print_r($condition);

		if( isset($condition) && count($condition)>0 ) {
			$search_query = implode(' OR ',$condition);
		}

		//echo $search_query;

		//if($q != '') { if( $condition != '' ) { $condition .= "status = 1 AND ".$condition ; }	}

		//echo $condition;

		$criteria = new CDbCriteria();

		if($search_query != '') { $criteria->condition = "status = 1 AND (".substr($search_query, 3).")"; }  else { $criteria->condition = "status = 4"; }
		$criteria->order='name ASC';

		$item_count = Temples::model()->count($criteria);
		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('search-theme',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag,
							  'q'=> $q ));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionBythemehistory()
	{

		$page = Page::model()->findByPk(79);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';
		$dids = isset($_GET['themes']) ? strtolower(trim($_GET['themes'])) : '';
		$condition = '';

		$adids = explode(',', $dids);

		if( isset($dids) && ($dids!='') ) {
			foreach ( $adids as $key=>$val ) {
				if($key == 0 ) { $condition .= " themelist LIKE '%".$val."%'"; }
				else { $condition .= " OR themelist LIKE '%".$val."%'"; }
			} }

		if($q != '') {
			if( $condition == '' ) { $condition .= " name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
			else
			{ $condition .= " OR name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
		}

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1';  $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND ('.$condition.')';  $criteria->order=' name ASC'; }
		$criteria->order = 'state ASC';
		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-history-theme',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionBythemebeliefs()
	{

		$page = Page::model()->findByPk(80);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		//		$AllTemples = '';

		//$this->render('list-by-beliefs-theme',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples));

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';
		$dids = isset($_GET['beliefs']) ? strtolower(trim($_GET['beliefs'])) : '';
		$condition = '';

		$adids = explode(',', $dids);

		if( isset($dids) && ($dids!='') ) {
			foreach ( $adids as $key=>$val ) {
				if($key == 0 ) { $condition .= " belief LIKE '%".$val."%'"; }
				else { $condition .= " OR belief LIKE '%".$val."%'"; }
			} }

		if($q != '') {
			if( $condition == '' ) { $condition .= " name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
			else
			{ $condition .= " OR name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
		}

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1 AND religion = 1001'; $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1  AND religion = 1001 AND ('.$condition.')'; $criteria->order=' name ASC';  }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-beliefs-theme',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionByregion()
	{

		$page = Page::model()->findByPk(75);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';
		$reg = isset($_GET['reg']) ? strtolower(trim($_GET['reg'])) : '';
		$state = isset($_GET['state']) ? strtolower(trim($_GET['state'])) : '';
		$district = isset($_GET['district']) ? strtolower(trim($_GET['district'])) : '';

		$condition = '';

		if($district != '' ) { $condition .= " district = ".$district; }
				else {
					if($state != '' ) { $condition .= " state = ".$state; }
						else {
							if($reg != '' ) { $condition .= " region = ".$reg; }
						}
				 }

		if($q != '') {
			if( $condition == '' ) { $condition .= " name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
			else
			{ $condition .= " OR name LIKE '%".$q."%' OR deity LIKE '%".$q."%' OR other_deity LIKE '%".$q."%' "; }
		}

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1';  $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND ('.$condition.')';  $criteria->order=' name ASC'; }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-region',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionBymap()
	{

		$page = Page::model()->findByPk(76);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$q = isset($_GET['q']) ? strtolower(trim($_GET['q'])) : '';
		$l = isset($_GET['l']) ? strtolower(trim($_GET['l'])) : '';

		$condition1[]='';
		$condition2[]='';
		$search_query1 = '';
		$search_query2 = '';

		if( $q!='') {

		$TempleNames = Temples::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));
		if( isset($TempleNames) && count($TempleNames)>0 ) { $condition1[] = "name LIKE '%".$q."%'";  }

		$DeitySearches = Diety::model()->findAll(array('condition'=>"name LIKE '%".$q."%'"));

		if(isset($DeitySearches) && count($DeitySearches)>0 ) {
		  foreach ($DeitySearches as $DeitySearch) {
				$condition1[] = "sdeity = ".$DeitySearch->id;
		  }
		}
		}

		if( $l!='') {

		$TownSearches = Town::model()->findAll(array('condition'=>"name LIKE '%".$l."%'"));

		if(isset($TownSearches) && count($TownSearches)>0 ) {
		  foreach ($TownSearches as $TownSearch) {
				$condition2[] = "town = ".$TownSearch->id;
		  }
		}

		$DistrictSearches = District::model()->findAll(array('condition'=>"name LIKE '%".$l."%'"));

		if(isset($DistrictSearches) && count($DistrictSearches)>0 ) {
		  foreach ($DistrictSearches as $DistrictSearch) {
				$condition2[] = "district = ".$DistrictSearch->id;
		  }
		}

		$StateSearches = State::model()->findAll(array('condition'=>"name LIKE '%".$l."%'"));

		if(isset($StateSearches) && count($StateSearches)>0 ) {
		  foreach ($StateSearches as $StateSearch) {
				$condition2[] = "state = ".$StateSearch->id;
		  }
		}
		}

		//print_r($condition2);

		if( isset($condition1) && count($condition1)>0 ) {
			$search_query1 = implode(' OR ',$condition1);
		}

		if( isset($condition2) && count($condition2)>0 ) {
			$search_query2 = implode(' OR ',$condition2);
		}
		//echo $search_query2;
		$final_query = '';

		if($search_query1 != '') { $final_query .= " AND (".substr($search_query1, 3).")"; }
		if($search_query2 != '') { $final_query .= " AND (".substr($search_query2, 3).")"; }

		$criteria = new CDbCriteria();

		if($final_query != '') { $criteria->condition = "status = 1 AND latitude != '' AND longitude != '' ".$final_query; }  else { $criteria->condition = "status = 4"; }
		$criteria->order='name ASC';
		/*
		$item_count = Temples::model()->count($criteria);
		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);
		*/
		$AllTemples = Temples::model()->findAll($criteria);

		//$AllTemples = Temples::model()->findAll(array('condition'=>'status = 1 AND latitude != "" AND longitude != ""'));

		/* if( isset($_GET['q']) )
        {
            $AllTemples = Temples::model()->findAll(array(
				'condition' => "( name LIKE '%". $_GET['q']."%' OR deity LIKE '%". $_GET['q']."%' OR other_deity LIKE '%". $_GET['q']."%' OR content1 LIKE '%". $_GET['q']."%' )  AND status = 1"
			));
        }*/

		$this->render('list-by-map',array('page'=>$page,'meta'=>$meta, 'AllTemples'=>$AllTemples));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionSikh()
	{
		$condition = '';
		$page = Page::model()->findByPk(76);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1 AND religion=1002';  $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND religion=1002 AND ('.$condition.')';  $criteria->order=' name ASC'; }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-sikh',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

	//	$this->render('list-by-sikh',array('page'=>$page,'meta'=>$meta, 'AllTemples'=>$AllTemples));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionJain()
	{

		$condition = '';
		$page = Page::model()->findByPk(76);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1 AND religion=1004';  $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND religion=1004 AND ('.$condition.')';  $criteria->order=' name ASC'; }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-jain',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionBuddhist()
	{

		$condition = '';
		$page = Page::model()->findByPk(76);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;

		$criteria = new CDbCriteria();
		if( $condition == '' ) { $criteria->condition = 'status = 1 AND religion=1003';  $criteria->order=' name ASC'; } else { $criteria->condition = 'status = 1 AND religion=1003 AND ('.$condition.')';  $criteria->order=' name ASC'; }

		$item_count = Temples::model()->count($criteria);

		$pag = new CPagination($item_count);

		$pag->setPageSize(15);
		$pag->pageVar='page';
		$pag->applyLimit($criteria);

		$AllTemples = Temples::model()->findAll($criteria);

		$this->render('list-by-buddhist',array('page'=>$page,'meta'=>$meta,'AllTemples'=>$AllTemples,
							  'item_count'=>$item_count,
							  'page_size'=>'10',
							  'items_count'=>$item_count,
							  'pages'=>$pag));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

	}

	public function actionInfo()
	{
		$id= isset($_GET['id']) ? (int) ($_GET['id']) : 0 ;

		if($id) {

			$Temple = Temples::GetItem($id);
			if( isset($Temple) && count($Temple)>0 ) {
			$meta = Seo::GetPageSeo($Temple->uid);

			if( isset($meta) && count($meta)>0 ) {
				$this->pageTitle = $meta->title;
				$this->description = $meta->description;
				$this->keywords = $meta->keywords;
			$this->render('temple-detail',array('Temple'=>$Temple,'meta'=>$meta ));

			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

		}

	}

	public function actionGallery()
	{

		$prop_id = isset($_GET['prop_id']) ? (int) ($_GET['prop_id']) : 0 ;
		$page_no = isset($_GET['page']) ? (int) ($_GET['page']) : 0 ;

		$criteria = new CDbCriteria();

		if( $prop_id == 0 ) {
			$criteria->select = 'id, img_url, prop_id, min(img_order) as row_order';
			$criteria->condition = 'status = :id';
			$criteria->params = array (':id'=>1);
			$criteria->group = 'prop_id';
		} else {
			$criteria->condition = 'status = :id AND prop_id = :PID';
			$criteria->params = array (':id'=>1,':PID'=>$prop_id);
		}

		$page = Page::model()->findByPk(67);
		if( isset($page) && count($page)>0 ) {

		$meta = Seo::GetPageSeo($page->uid);

			if(isset($meta) && count($meta)>0) {

				if( $page_no == 0 ) {
					$this->pageTitle = $meta->title;
					$this->description = $meta->description;
					$this->keywords = $meta->keywords;
				} else {
					$this->pageTitle = $meta->title.' - page '.$page_no;
					$this->description = $meta->description.' - page '.$page_no;
					$this->keywords = $meta->keywords;
				}

       	$criteria->order = 'id ASC';

        $item_count = Gallery::model()->count($criteria);

		$pag = new CPagination($item_count);
		$pag->setPageSize(20);
		$pag->pageVar='page';
        $pag->applyLimit($criteria);  // the trick is here!

		$this->render('gallery',array(
		        'Temples'=> Gallery::model()->findAll($criteria),
                'item_count'=>$item_count,
                'page_size'=>'20',
                'items_count'=>$item_count,
                'pages'=>$pag,
				'meta'=>$meta
		));

		}  else { throw new CHttpException('404',t('Oops! Page not found!')); }
			}  else { throw new CHttpException('404',t('Oops! Page not found!')); }

		//Yii::app()->end();
	}

}


text:
intracom-telecom-sdn.github.com
======

The source code of http://intracom-telecom-sdn.github.io/ , a fork of
https://github.com/twitter/twitter.github.com

LICENSE
------------

Copyright 2015 Intracom S.A. Telecom Solutions
Copyright 2012 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0


text:
package ai.vespa.feed.client.impl;

import java.time.Duration;
import java.util.Map;
import java.util.function.Supplier;

class HttpRequest {

    private final String method;
    private final String path;
    private final Map<String, Supplier<String>> headers;
    private final byte[] body;
    private final Duration timeout;

    public HttpRequest(String method, String path, Map<String, Supplier<String>> headers, byte[] body, Duration timeout) {
        this.method = method;
        this.path = path;
        this.headers = headers;
        this.body = body;
        this.timeout = timeout;
    }

    public String method() {
        return method;
    }

    public String path() {
        return path;
    }

    public Map<String, Supplier<String>> headers() {
        return headers;
    }

    public byte[] body() {
        return body;
    }

    public Duration timeout() {
        return timeout;
    }

    @Override
    public String toString() {
        return method + " " + path;
    }

}


text:
package com.ayuget.redface.cache;

import androidx.annotation.NonNull;

import com.ayuget.redface.util.DateUtils;

/**
 * Represents a cached value.
 *
 * A timestamp is stored alongside the value, which represents the
 * time when the value has been cached.
 *
 * @param <T> value type
 */
public class Cached<T> {
    private final T value;
    private final long timestamp;

    private Cached(@NonNull T value, long timestamp) {
        this.value = value;
        this.timestamp = timestamp;
    }

    public T value() {
        return value;
    }

    public long timestamp() {
        return timestamp;
    }

    public static <T> Cached<T> from(T value) {
        return new Cached<>(value, DateUtils.getCurrentTimestamp());
    }

    public static <T> Cached<T> from(T value, long timestamp) {
        return new Cached<>(value, timestamp);
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        Cached<?> cached = (Cached<?>) o;

        return value.equals(cached.value);

    }

    @Override
    public int hashCode() {
        return value.hashCode();
    }

    @Override
    public String toString() {
        return value.toString();
    }
}


text:
package com.solwars.game.screens.menu;

import com.badlogic.gdx.Game;
import com.solwars.game.screens.DefaultScreen;

/**
 * Default screen for all menu classes
 */
public class _mDefaultScreen extends DefaultScreen{
    protected Game game;

    public float x;
    public _mDefaultScreen(Game game){this.game = game;}

    public void setInput(){
        // add Gdx.input.setInputProcessor(stage); in respective screens

    }

    public void setPositions(){

    }

    public void setX(float x){
        this.x = x;
    }

    public float getX(){return this.x;}

    @Override
    public void show() {

    }

    @Override
    public void render(float delta) {

    }

    @Override
    public void resize(int width, int height) {
    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {

    }
}


text:
inline
double random_double(const double min, const double max)
{
  double range = max - min;
  return min + (double(rand()) / double(RAND_MAX)) * range;
}

inline
int random_int(const int min, const int max)
{
  int range = max - min;
  return min + int((double(rand())/double(RAND_MAX)) * range);
}

template <class Vector>
Vector random_vec(const double scale)
{
  double dx = random_double(-scale, scale);
  double dy = random_double(-scale, scale);
  return Vector(dx, dy);
}

#endif


text:
package com.github.shredder121.gh_event_api.model;

import com.fasterxml.jackson.databind.PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.github.shredder121.gh_event_api.model.json.PropertyBasedJsonCreator;

/**
 * An organization is a group of users that operate repositories.
 *
 * @author Shredder121
 */
@lombok.Value
@JsonNaming(LowerCaseWithUnderscoresStrategy.class)
@lombok.RequiredArgsConstructor(
        access = lombok.AccessLevel.MODULE,
        onConstructor = @__(@PropertyBasedJsonCreator)
)
public class Organization {

    /**
     * The username/handle of the organization.
     */
    String login;

    /**
     * The id of this organization.
     */
    Long id;

    /**
     * This organization's description.
     */
    String description;

    /**
     * The (API) URL to view this organization.
     */
    String url;

    /**
     * The (API) URL to view this organization's repositories.
     */
    String reposUrl;

    /**
     * The (API) URL to view the event time line of this organization.
     */
    String eventsUrl;

    /**
     * The (API) URL to view the hooks of this organization.
     */
    String hooksUrl;

    /**
     * The (API) URL to view this organization's issues.
     */
    String issuesUrl;

    /**
     * The (API) URL to view the members of this organization.
     */
    String membersUrl;

    /**
     * The (API) URL to view the public members of this organization.
     */
    String publicMembersUrl;

    /**
     * The avatar image of this organization.
     */
    String avatarUrl;
}


text:
layout: post
status: publish
published: true
title: Laws of Robotics (for Catholics)
author:
  display_name: Mark Roxberry
  login: admin
  email: mark@roxberries.com
  url: ''
author_login: admin
author_email: mark@roxberries.com
wordpress_id: 7231
wordpress_url: http://www.roxberry.pro/?p=7231
date: '2015-10-06 15:05:28 -0400'
date_gmt: '2015-10-06 19:05:28 -0400'
categories:
- Uncategorized
- Robotics
tags: []
comments: []
---

Running a robotics class for the past 3 years, I find reminding the students about G-d and the miracle of life fits perfectly. I added 2 laws to Isaac Asimov's</a> fundamental laws.

Robot Makers are not G-d. We will never be able to create something as infinitely complex as G-d.</li>

Robots are not replacements for humanity.</li>

Robots we create will not injure a human being or allow a human being to be harmed.</li>

Robots we create will obey our programming unless it violates law 3.</li>

Robots we create will protect its own existence, as long as this does not conflict with law 3 or 4.</li>

</ol>


text:
package com.chillenious.common.db.sync;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Message listener base class.
 *
 * @param <O> persistent object type
 */
public abstract class DataRefreshListener<O extends PersistentObject>
        extends BaseDataRefreshListener<O> {

    private static final Logger log = LoggerFactory.getLogger(DataRefreshListener.class);

    /**
     * Construct.
     */
    protected DataRefreshListener() {
    }

    @Override
    @SuppressWarnings("unchecked")
    public final void onDataRefresh(DataRefreshEvent<O> evt) {
        if (topic == null) {
            throw new IllegalStateException(
                    "topic is not yet set; this listener is not properly initialized/ used");
        }
        if (evt instanceof MarkerReq) {
            log.info(String.format("received req; sending ack (listener = %s)", this));
            topic.publish(new MarkerAck(this, (MarkerReq) evt));
        } else {
            onEvent(evt);
        }
    }

    /**
     * Invoked when a new data refreshed event is received.
     *
     * @param evt received event
     */
    protected abstract void onEvent(DataRefreshEvent<O> evt);

    protected O getObject(DataRefreshEvent<O> evt) {
        if (evt instanceof DataCreatedEvent) {
            return ((DataCreatedEvent<O>) evt).getObject();
        } else if (evt instanceof DataChangedEvent) {
            return ((DataChangedEvent<O>) evt).getObject();
        }
        return null;
    }
}


text:
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

//
/*=============================================================================
**
**
**
** Purpose: An exception class to indicate that the thread was interrupted
**          from a waiting state.
**
**
=============================================================================*/

using System.Threading;
using System;
using System.Runtime.Serialization;

namespace System.Threading
{
    public class ThreadInterruptedException : SystemException
    {
        public ThreadInterruptedException()
            : base(GetMessageFromNativeResources(ExceptionMessageKind.ThreadInterrupted))
        {
            HResult = HResults.COR_E_THREADINTERRUPTED;
        }

        public ThreadInterruptedException(String message)
            : base(message)
        {
            HResult = HResults.COR_E_THREADINTERRUPTED;
        }

        public ThreadInterruptedException(String message, Exception innerException)
            : base(message, innerException)
        {
            HResult = HResults.COR_E_THREADINTERRUPTED;
        }

        protected ThreadInterruptedException(SerializationInfo info, StreamingContext context) : base(info, context)
        {
            throw new PlatformNotSupportedException();
        }
    }
}


text:
module Jaconda
  class API::Member < API
    self.element_name = "user"

    def self.collection_name
      "members"
    end

    def presences
      API::Presence.prefix = "/api/v2/members/:user_id/"
      API::Presence.find(:all, :params => {:user_id => id})
    end

    def uploads
      API::Upload.prefix = "/api/v2/members/:user_id/"
      API::Upload.find(:all, :params => {:user_id => id})
    end
  end
end


text:
class GobjectIntrospection < Formula
  desc "Generate introspection data for GObject libraries"
  homepage "https://live.gnome.org/GObjectIntrospection"
  url "https://download.gnome.org/sources/gobject-introspection/1.46/gobject-introspection-1.46.0.tar.xz"
  sha256 "6658bd3c2b8813eb3e2511ee153238d09ace9d309e4574af27443d87423e4233"
  revision 1

  bottle do
    revision 1
    sha256 "f74299d5504653f479d86f29239def40bcc790bfcf9a3df4ecd4ab95e2a13aab" => :el_capitan
    sha256 "e1d5345ae31ba57ccffdfb12e8499e3cfe3c69e29387c4d0765c9872f1117baa" => :yosemite
    sha256 "e3468554dddb9d16af1a15741f2734ce0aa9d87e7c81cd6a1c7161b6ef57d93c" => :mavericks
  end

  option :universal

  depends_on "pkg-config" => :run
  depends_on "glib"
  depends_on "cairo"
  depends_on "libffi"
  # System python in Mavericks or below has bug in distutils/sysconfig.py, which breaks the install.
  #    Caught exception: <type 'exceptions.AttributeError'> AttributeError("'NoneType' object has no attribute 'get'",)
  #    > /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/sysconfig.py(171)customize_compiler()
  depends_on "python" if MacOS.version <= :mavericks
  depends_on "bison" unless OS.mac?
  depends_on "flex" unless OS.mac?

  # see https://bugzilla.gnome.org/show_bug.cgi?id=625195
  # to be removed when 1.48.0 is released
  patch do
    url "https://github.com/GNOME/gobject-introspection/commit/4a724ac699f0c34fba2fb452cfadea11540325e8.patch"
    sha256 "047c350bad2d222f1037c3ce1889444ebc1095df76120188037c4eb2900848c4"
  end

  resource "tutorial" do
    url "https://gist.github.com/7a0023656ccfe309337a.git",
        :revision => "499ac89f8a9ad17d250e907f74912159ea216416"
  end

  def install
    ENV["GI_SCANNER_DISABLE_CACHE"] = "true"
    ENV.universal_binary if build.universal?
    inreplace "giscanner/transformer.py", "/usr/share", "#{HOMEBREW_PREFIX}/share"
    inreplace "configure" do |s|
      s.change_make_var! "GOBJECT_INTROSPECTION_LIBDIR", "#{HOMEBREW_PREFIX}/lib"
    end

    system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}", "PYTHON=python"
    system "make"
    system "make", "install"
  end

  test do
    ENV.prepend_path "PKG_CONFIG_PATH", Formula["libffi"].opt_lib/"pkgconfig"
    resource("tutorial").stage testpath
    system "make"
    assert (testpath/"Tut-0.1.typelib").exist?
  end
end


text:
@implementation UINavigationController (LYAssets)
- (UIViewController *)rootViewController {
    if (self.viewControllers && self.viewControllers.count > 0) {
        return [self.viewControllers objectAtIndex:0];
    }
    return nil;
}

@end


text:
namespace numcpp
{

class slice_iterator
{

public:

    // iterator traits
    using difference_type = uint64;
    using value_type = uint64;
    using pointer = const uint64 *;
    using reference = const uint64 &;
    using iterator_category = std::input_iterator_tag;

    static slice_iterator end() { return slice_iterator(0,0,0); }

    slice_iterator(int64 start, int64 stop, int64 step)
        :
        _start(start),
        _stop(stop),
        _step(step)
    {}

    slice_iterator & operator++()
    {
        // forward
        if(_step > 0)
        {
            if(_start + _step < _stop)
            {
                _start += _step;
                return *this;
            }
        }

        // backward
        else
        if(_step < 0)
        {
            if(_start + _step > _stop)
            {
                _start += _step;
                return *this;
            }
        }

        // stop iteration

        *this = end();

        return *this;
    }

    bool operator==(const slice_iterator & rhs) const
    {
        return
            _start == rhs._start &&
            _stop == rhs._stop &&
            _step == rhs._step;
    }

    bool operator!=(const slice_iterator & rhs) const {return !(*this == rhs);}

    uint64 operator*() {return static_cast<uint64>(_start);}

protected:

    int64 _start;
    int64 _stop;
    int64 _step;
};

} // namespace

#endif // _NUMCPP_SLICE_ITERATOR_HPP_


text:
class CreateRelatedTables < ActiveRecord::Migration
  def change
    create_table :ads do |t|
      t.string :url
      t.string :image_type
      t.integer :status, :default => 0
      t.timestamps
    end
    create_table :photos do |t|
      t.string :photo_data_type
      t.integer :photo_data_id
      t.integer :created_by
      t.integer :bytes
      t.string :url
      t.string :public_id
      t.string :thumbnail_url

      t.timestamps
    end
    create_table :preferences, :force => true do |t|
      t.string :key
      t.string :value_type
      t.string :name
      t.integer :owner_id
      t.string :owner_type
      t.integer :group_id
      t.string :group_type
      t.text   :value
      t.timestamps
    end
    add_index :preferences, :key, :unique => true

    create_table :pages do |t|
      t.string :title
      t.string :permalink
      t.string :meta_keywords
      t.string :meta_description
      t.integer :status, :default => 0
      t.timestamps
    end
    create_table :descriptions do |t|
    	t.string :desc_data_type
    	t.integer :desc_data_id
      t.string :title
      t.string :title_cn
    	t.text :en
    	t.text :cn
    	t.timestamps
    end
    create_table :remarks do |t|
      t.string :note_data_type
      t.integer :note_data_id
      t.string :note_text
      t.integer :employee_info_id
      t.integer :status, :default => 0
      t.timestamps
    end
  	create_table :bookmarks do |t|
  		t.string :title
  		t.string :url
  		t.integer :show_order, :default => 0
  		t.integer :status, :default => 0
  		t.timestamps
  	end
    create_table :input_types do |t|
      t.string :type_name
      t.string :type_text
      t.string :type_value
      t.integer :status, :default => 0
      t.timestamps
    end
    create_table :telephones do |t|
      t.string :tel_number_type
      t.integer :tel_number_id
      t.string :tel_type
      t.string :tel
      t.integer :priority, :default => 0
      t.timestamps
    end
    create_table :emails do |t|
      t.string :email_data_type
      t.integer :email_data_id
      t.string :email_address
      t.integer :priority, :default => 0
      t.timestamps
    end
    create_table :addresses do |t|
      t.string :address_data_type
      t.integer :address_data_id
      t.string :address1
      t.string :address2
      t.string :zipcode
      t.integer :city_id
      t.integer :usage_type
      t.integer :priority, :default => 0
      t.timestamps
    end
    create_table :cities do |t|
      t.string :city
      t.string :state
      t.string :country
      t.integer :status, :default => 0
    end

  end

end


text:
namespace Roro
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.tabControl1 = new System.Windows.Forms.TabControl();
            this.tabPage1 = new System.Windows.Forms.TabPage();
            this.openLinkLabel = new System.Windows.Forms.LinkLabel();
            this.label1 = new System.Windows.Forms.Label();
            this.createLinkLabel = new System.Windows.Forms.LinkLabel();
            this.label2 = new System.Windows.Forms.Label();
            this.tabPage3 = new System.Windows.Forms.TabPage();
            this.tabPage2 = new System.Windows.Forms.TabPage();
            this.tabControl1.SuspendLayout();
            this.tabPage1.SuspendLayout();
            this.SuspendLayout();
            //
            // tabControl1
            //
            this.tabControl1.Controls.Add(this.tabPage1);
            this.tabControl1.Controls.Add(this.tabPage3);
            this.tabControl1.Controls.Add(this.tabPage2);
            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.tabControl1.Location = new System.Drawing.Point(0, 0);
            this.tabControl1.Name = "tabControl1";
            this.tabControl1.SelectedIndex = 0;
            this.tabControl1.Size = new System.Drawing.Size(652, 432);
            this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
            this.tabControl1.TabIndex = 0;
            this.tabControl1.TabStop = false;
            //
            // tabPage1
            //
            this.tabPage1.Controls.Add(this.openLinkLabel);
            this.tabPage1.Controls.Add(this.label1);
            this.tabPage1.Controls.Add(this.createLinkLabel);
            this.tabPage1.Controls.Add(this.label2);
            this.tabPage1.Location = new System.Drawing.Point(4, 24);
            this.tabPage1.Name = "tabPage1";
            this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage1.Size = new System.Drawing.Size(644, 404);
            this.tabPage1.TabIndex = 0;
            this.tabPage1.Text = "Studio";
            this.tabPage1.UseVisualStyleBackColor = true;
            //
            // openLinkLabel
            //
            this.openLinkLabel.AutoSize = true;
            this.openLinkLabel.Font = new System.Drawing.Font("Segoe UI", 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
            this.openLinkLabel.Location = new System.Drawing.Point(119, 129);
            this.openLinkLabel.Margin = new System.Windows.Forms.Padding(0);
            this.openLinkLabel.Name = "openLinkLabel";
            this.openLinkLabel.Size = new System.Drawing.Size(92, 41);
            this.openLinkLabel.TabIndex = 0;
            this.openLinkLabel.Text = "Open";
            this.openLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.OpenLinkLabel_LinkClicked);
            //
            // label1
            //
            this.label1.AutoSize = true;
            this.label1.Font = new System.Drawing.Font("Segoe UI", 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
            this.label1.Location = new System.Drawing.Point(211, 129);
            this.label1.Margin = new System.Windows.Forms.Padding(0);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(46, 41);
            this.label1.TabIndex = 6;
            this.label1.Text = "or";
            //
            // createLinkLabel
            //
            this.createLinkLabel.AutoSize = true;
            this.createLinkLabel.Font = new System.Drawing.Font("Segoe UI", 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
            this.createLinkLabel.Location = new System.Drawing.Point(257, 129);
            this.createLinkLabel.Margin = new System.Windows.Forms.Padding(0);
            this.createLinkLabel.Name = "createLinkLabel";
            this.createLinkLabel.Size = new System.Drawing.Size(99, 41);
            this.createLinkLabel.TabIndex = 0;
            this.createLinkLabel.Text = "create";
            this.createLinkLabel.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.CreateLinkLabel_LinkClicked);
            //
            // label2
            //
            this.label2.AutoSize = true;
            this.label2.Font = new System.Drawing.Font("Segoe UI", 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
            this.label2.Location = new System.Drawing.Point(356, 129);
            this.label2.Margin = new System.Windows.Forms.Padding(0);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(169, 41);
            this.label2.TabIndex = 9;
            this.label2.Text = "a workflow.";
            //
            // tabPage3
            //
            this.tabPage3.Location = new System.Drawing.Point(4, 24);
            this.tabPage3.Name = "tabPage3";
            this.tabPage3.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage3.Size = new System.Drawing.Size(644, 404);
            this.tabPage3.TabIndex = 2;
            this.tabPage3.Text = "Robots";
            this.tabPage3.UseVisualStyleBackColor = true;
            //
            // tabPage2
            //
            this.tabPage2.Location = new System.Drawing.Point(4, 24);
            this.tabPage2.Name = "tabPage2";
            this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
            this.tabPage2.Size = new System.Drawing.Size(644, 404);
            this.tabPage2.TabIndex = 1;
            this.tabPage2.Text = "Scheduler";
            this.tabPage2.UseVisualStyleBackColor = true;
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(652, 432);
            this.Controls.Add(this.tabControl1);
            this.Font = new System.Drawing.Font("Segoe UI", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel);
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
            this.MaximizeBox = false;
            this.Name = "Form1";
            this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
            this.Text = "Roro - Free RPA Software";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.tabControl1.ResumeLayout(false);
            this.tabPage1.ResumeLayout(false);
            this.tabPage1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.TabControl tabControl1;
        private System.Windows.Forms.TabPage tabPage1;
        private System.Windows.Forms.TabPage tabPage2;
        private System.Windows.Forms.TabPage tabPage3;
        private System.Windows.Forms.LinkLabel openLinkLabel;
        private System.Windows.Forms.LinkLabel createLinkLabel;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
    }
}


text:
<?php

namespace Nmure\CrawlerDetectBundle\CrawlerDetect;

use Jaybizzle\CrawlerDetect\CrawlerDetect as BaseCrawlerDetect;
use Symfony\Component\HttpFoundation\RequestStack;

/**
 * Class extending the BaseCrawlerDetect to adapt it for Symfony.
 */
class CrawlerDetect extends BaseCrawlerDetect
{
    /**
     * Initialise the BaseCrawlerDetect using the master request
     * from the $requestStack.
     *
     * @param RequestStack $requestStack
     */
    public function __construct(RequestStack $requestStack)
    {
        if ($request = $requestStack->getMasterRequest()) {
            // the app is accessed by a HTTP request
            $headers = $request->server->all();
            $userAgent = $request->headers->get('User-Agent');
        } else {
            // the app is accessed by the CLI
            $headers = $userAgent = null;
        }

        parent::__construct($headers, $userAgent);
    }
}


text:
function no_factors = nofactors(lt)

% NOFACTORS retrieves the number of factors in LINTRANS.
% --------------------------
% no_factors = nofactors(lt)
% --------------------------
% Description: retrieves the number of variables in LINTRANS.
% Input:       {lt} LINTRANS instance(s).
% Output:      {no_factors} number of factors in each of the instances
%                   in {lt}. It has the same dimensions as {lt}.

% © Liran Carmel
% Classification: SET/GET functions
% Last revision date: 13-jan-2005

% initialize
no_factors = zeros(size(lt));

% loop on all instances
for ii = 1:numel(lt)
    no_factors(ii) = get(lt(ii),'no_factors');
end