Changeset 1366


Ignore:
Timestamp:
Sep 12, 2010, 2:44:04 AM (10 years ago)
Author:
teymour
Message:

Intégration de TextLoi? dans Solr

Location:
cpc/trunk/project
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • cpc/trunk/project/config/doctrine/schema.yml

    r1360 r1366  
    569569    Timestampable: ~
    570570    Taggable: ~
     571    Solrable:
     572      title: [titre]
     573      description: [contenu, annexe, signataires]
     574      moretags: [Parlementaires, categorie, type, Organisme]
     575      date: date
    571576  columns:
    572577    id:
     
    589594    organisme_id: integer
    590595    signataires: string
     596    contenu: string
    591597  relations:
    592598    Parlementaires:
  • cpc/trunk/project/lib/model/doctrine/Texteloi.class.php

    r1361 r1366  
    168168  }
    169169
     170
    170171  public function getAuteursString() {
    171172    if ($this->type === "Texte de la commission")
     
    201202    return $str;
    202203  }
     204
     205  public function getContenu() {
     206    $c = $this->_get('contenu');
     207    return gzinflate(base64_decode($c));
     208  }
     209
     210  public function setContenu($c) {
     211    return $this->_set('contenu', base64_encode(gzdeflate($c)));
     212  }
     213
     214  public function getLink() {
     215    sfProjectConfiguration::getActive()->loadHelpers(array('Url'));
     216    return url_for('@homepage');
     217  }
     218
     219  public function getPersonne() {
     220    return '';
     221  }
    203222}
  • cpc/trunk/project/lib/model/solr/SolrCommands.class.php

    r1332 r1366  
    4444    }
    4545    sem_acquire($this->semaphore);
    46     if (!$this->file) {
    47       touch($lockfile);
    48       sem_release($this->semaphore);
    49       return $lockfile;
     46    if ($this->file) {
     47      fclose($this->file);
     48      $this->file = null;
    5049    }
    51     fclose($this->file);
    52     $this->file = null;
    53     rename($this->getFileCommands(), $this->getFileCommands().'.lock');
     50    rename($this->getFileCommands(), $lockfile);
    5451    sem_release($this->semaphore);
    5552    return $lockfile;
  • cpc/trunk/project/lib/model/solr/SolrConnector.class.php

    r1332 r1366  
    3131    $file = SolrCommands::getInstance()->getCommandContent();
    3232    foreach(file($file) as $line) {
     33      echo "$line\n";
    3334      if (preg_match('/(UPDATE|DELETE) : (.+)/', $line, $matches)) {
    3435        $obj = json_decode($matches[2]);
  • cpc/trunk/project/lib/task/loadDocumentsTask.class.php

    r1359 r1366  
    2121          foreach(file($dir.$file) as $line) {
    2222            $json = json_decode($line);
    23             if (!$json || !$json->source || !$json->legislature || !$json->id || !$json->numero || !$json->date_depot || !$json->dossier || !$json->type) {
    24               echo "ERROR json : $line\n";
     23            if (!$json )
     24            {
     25              echo "ERROR json : $dir$file\n";
    2526              continue;
    2627            }
     28            if (!$json->source)
     29              {echo "source missing\n"; continue;}
     30            if (!$json->legislature)
     31              {echo "legislature missing\n"; continue;}
     32            if (!$json->id)
     33              {echo "source id\n"; continue;}
     34            if (!$json->numero)
     35              {echo "source numero\n"; continue;}
     36            if(!$json->date_depot)
     37              {echo "source date_depot\n"; continue;}
     38            if (!$json->dossier)
     39              {echo "source dossier\n"; continue;}
     40            if (!$json->type)
     41              {echo "source type\n"; continue;}
    2742            $doc = Doctrine::getTable('TexteLoi')->find($json->id);
    2843            if (!$doc) {
     
    5267              foreach (explode('.', $json->motscles) as $tag)
    5368                $doc->addTag($tag);
     69            if ($json->contenu)
     70              $doc->setContenu($json->contenu);
    5471            $doc->save();
    5572            $doc->free();
     73            echo "$dir$file DONE\n";
    5674          }
    57           unlink($dir.$file);
     75          //      unlink($dir.$file);
    5876        }
    5977        closedir($dh);
Note: See TracChangeset for help on using the changeset viewer.