Search in sources :

Example 1 with SoftFoundFactory

use of org.fagu.fmv.soft.find.SoftFoundFactory in project fmv by f-agu.

the class SoftTestCase method test1.

@Test
@Ignore
public void test1() throws Exception {
    SoftFoundFactory ffSoftFoundFactory = ExecSoftFoundFactory.forProvider(new TestSoftProvider("ffprout")).withParameters("-version").parseFactory((file, softPolicy) -> new Parser() {

        private Integer build;

        @Override
        public void readLine(String line) {
            if (line.startsWith("ff")) {
                build = Integer.parseInt(StringUtils.substringBetween(line, "N-", "-"));
            }
        }

        @Override
        public SoftFound closeAndParse(String cmdLineStr, int exitValue) throws IOException {
            if (build == null) {
                return SoftFound.foundBadSoft(file);
            }
            // return SoftFound.found(file, new TestSoftInfo(build));
            return SoftFound.foundBadVersion(new TestSoftInfo(49), "85");
        }
    }).build();
    // SoftFoundFactory identifyFoundFactory = ExecSoftFoundFactory.withParameters("-version").parseFactory(file ->
    // new Parser() {
    // 
    // @Override
    // public void readLine(String line) {}
    // 
    // @Override
    // public SoftFound closeAndParse(String cmdLineStr, int exitValue) throws IOException {
    // return SoftFound.foundBadVersion(new TestSoftInfo(49), "85");
    // }
    // }).build();
    Soft soft = Soft.with(new TestSoftProvider("ffprout")).search(ffSoftFoundFactory);
    // Soft ffprobeSoft = Soft.with("ffprobe").search(ffSoftFoundFactory);
    // Soft identifySoft = Soft.withName("identify").search(identifyFoundFactory);
    SoftLogger softFormatter = new SoftLogger(Arrays.asList(soft));
    // SoftLogger softFormatter = new SoftLogger(Arrays.asList(ffprobeSoft, identifySoft, ffmpegSoft));
    softFormatter.logDetails(System.out::println);
    // System.out.println(soft.getFounds());
    // System.out.println(soft.getFile());
    soft.withParameters("").execute();
}
Also used : SoftFoundFactory(org.fagu.fmv.soft.find.SoftFoundFactory) Arrays(java.util.Arrays) ExecSoftFoundFactory(org.fagu.fmv.soft.find.ExecSoftFoundFactory) Date(java.util.Date) SoftFound(org.fagu.fmv.soft.find.SoftFound) IOException(java.io.IOException) Test(org.junit.Test) StringUtils(org.apache.commons.lang3.StringUtils) Executors(java.util.concurrent.Executors) Future(java.util.concurrent.Future) Executed(org.fagu.fmv.soft.SoftExecutor.Executed) Parser(org.fagu.fmv.soft.find.ExecSoftFoundFactory.Parser) Ignore(org.junit.Ignore) ExecutorService(java.util.concurrent.ExecutorService) SoftFoundFactory(org.fagu.fmv.soft.find.SoftFoundFactory) ExecSoftFoundFactory(org.fagu.fmv.soft.find.ExecSoftFoundFactory) Parser(org.fagu.fmv.soft.find.ExecSoftFoundFactory.Parser) Ignore(org.junit.Ignore) Test(org.junit.Test)

Aggregations

IOException (java.io.IOException)1 Arrays (java.util.Arrays)1 Date (java.util.Date)1 ExecutorService (java.util.concurrent.ExecutorService)1 Executors (java.util.concurrent.Executors)1 Future (java.util.concurrent.Future)1 StringUtils (org.apache.commons.lang3.StringUtils)1 Executed (org.fagu.fmv.soft.SoftExecutor.Executed)1 ExecSoftFoundFactory (org.fagu.fmv.soft.find.ExecSoftFoundFactory)1 Parser (org.fagu.fmv.soft.find.ExecSoftFoundFactory.Parser)1 SoftFound (org.fagu.fmv.soft.find.SoftFound)1 SoftFoundFactory (org.fagu.fmv.soft.find.SoftFoundFactory)1 Ignore (org.junit.Ignore)1 Test (org.junit.Test)1